网关 Spring Cloud Zuul 静态、动态路由配置的几种形式

静态Url路由

path+url

zuul:
  routes:
    laker:
      path: /laker/**
      url: http://localhost:8080

其中path是一个ant风格的表达式,所以/laker/*仅仅匹配一层目录,而/laker/**可以匹配任意多层级目录。

简单的url路由不会作为HystrixCommand执行,也不会使用Ribbon负载均衡,即无负载均衡,故障切换,重试,断路器功能。

使用的 PRE类型的SimpleHostRoutingFilter.java

静态服务器列表路由

指定一个服务器列表的serviceId

zuul:
  routes:
    echo:
      path: /myusers/**
      serviceId: myusers-service
      stripPrefix: true

hystrix:
  command:
    myusers-service:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: ...

myusers-service:
  ribbon:
    NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
    listOfServers: https://example1.com,http://example2.com
    ConnectTimeout: 1000
    ReadTimeout: 3000
    MaxTotalHttpConnections: 500
    MaxConnectionsPerHost: 100

使用的 PRE类型的RibbonRoutingFilter.java
另一个方法是指定一个服务路由并且为serviceId配置Ribbon客户端(这么做需要在Ribbon中禁用Eureka)

zuul:
  routes:
    users:
      path: /myusers/**
      serviceId: users

ribbon:
  eureka:
    enabled: false

users:
  ribbon:
    listOfServers: example.com,google.com

动态路由

配合注册中心使用,例如eureka或者nacos

zuul:
  routes:
    myroutes1:
      path: /myusers/**
      serviceId: users
eureka:
  client:
    serviceUrl:
      defaultZne:xxx

加群一起抱团取暖,共同进步

🍎QQ群【837324215】
🍎关注我的公众号【Java大厂面试官】,一起学习呗🍎🍎🍎
🍎个人vxlakernote

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lakernote

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值