spring-cloud-Zuul学习(二)【基础篇】--典型配置【重新定义spring cloud实践】

                                                                                                -- 2019-04-15 20:22:34

  • 引言

上一节是一个最基本的zuul网关实例,它是整个spring-cloud生态里面“路由-服务”的一个缩影,后续也就是锦上添花。这节主要讲述zuul的一些基本典型配置,包括路由与一些增强配置。


  • 路由配置

zuul作为微服务的“路由器”,有很多的路由功能:

  • 路由配置简化与规则

前面单实例serviceId映射:

zuul:
  routes:
    client-a:
      path: /client/**
      serviceId: client-a

 

是从/client/**到client-a服务的映射规则,其实还有其他的方式配置:

zuul:
  routes:
    client-a: /client/**
View Code

 

还有:

1 zuul:
2   routes:
3     client-a: 

 

这种情况会默认添加规则/client-a/**,相当于:

1 zuul:
2   routes:
3     client-a: 
4         path: /client-a/**
5         serviceId: client-a
View Code

 

  • 单实例url映射

除了写服务名,还可以写物理地址,将serviceId替换成url即可:

1 zuul:
2   routes:
3     client-a:
4       path: /client/**
5       url: http:localhost:7070 #client-a的地址
View Code

 

  • 多实例路由

在默认情况下,Zuul会使用Eureka中集成的基本负载均衡功能(策略好像是随机),如果想要使用Ribbon的负载均衡功能,就需要指定一个serviceId,而且需要禁用Ribbon使用Eureka,在E版之后新增了负载均衡策略的配置:

 1 spring:
 2   application:
 3     name: zuul-server
 4 server:
 5   port: 5555
 6 
 7 #---------其他路由写法
 8 zuul:
 9   routes:
10     client-a: /client/**
11 
12 client-a:
13   ribbon:
14     NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
15     listOfServers: http://localhost:7070,http://localhost:7071 #ribbon脱离eureka的使用,这里指定源服务列表
16     NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #声明策略模式为随机
17   eager-load:
18       clients:
19       enabled: #使用配置的方式对特定的源服务进行策略约束【规则:clientName.ribbon.*】
20 ribbon:
21   eureka:
22     enabled: false #禁用eureka
View Code

 


 

  • 路由通配符规则
规则释义示例
/**匹配任意数量的路径与字符

client/add,/client/student/add,

/client/a/b

/*匹配任意数量的字符/client/add,/client/mul
/?匹配单个字符/client/a,/client/b

转载于:https://www.cnblogs.com/chenzhoulibo/p/10712474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值