当前位置:   article > 正文

Zuul Gateway 入门_zuul gate way

zuul gate way

Zuul Gateway 入门

有点像 nginx 或者 servlet过滤器, 对外隐藏微服务的域名和端口,只需要知道 微服务名字和 uri 即刻访问指定 微服务,方便统一管理

Pom

<dependencies>
        <!--Zuul 网关-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>

        <!--Eureka客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

Main

/**
 * @author ratel
 * @date 2020/4/5
 */
@EnableZuulProxy //标记此应用为 Zuul Gateway
@EnableDiscoveryClient
@EnableEurekaClient
@SpringBootApplication
public class ZuulApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication.class,args);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

Config

spring:
  application:
    name: @artifactId@
server:
  port: 8070
#  servlet:
#    context-path: /zuul

# eureka 注册中心配置
eureka:
  instance:
    prefer-ip-address: true
  client:
    register-with-eureka: true
    service-url:
      defaultZone: http://eureka1.ratel.com:8001/eureka/

# 指定路由规则
zuul:
  routes:
#    api-a:
#      path: /order/** #匹配路径
#      serviceId: ratel-microservice-order #微服务名字
#      url: http://localhost:8082 #重定向,不依赖 eureka
#简写
    ratel-microservice-order: #微服务名字
      path: /order/** #匹配规则
#  ignored-services: ratel-microservice-order #忽略掉这个微服务,否则url以 /ratel-microservice-order 为前缀的也会访问 order 服务
logging:
  level:
    root: debug

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

进阶配置

请求转发

# 指定路由规则
# 匹配优先级 按配置先后循序
zuul:
  routes:
    api-foward: #微服务名字 或 url 前缀
      path: forward:/test #表示将匹配上的 请求转发到当前网关的接口上
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Example

  • 不使用网关

    在这里插入图片描述

  • 使用Zuul网关

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XQGine4l-1586100144062)(/Users/ratel/Library/Application Support/typora-user-images/image-20200405231532598.png)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/302105
推荐阅读
相关标签
  

闽ICP备14008679号