SpringCloud Zuul网关的简单理解

Zuul网关功能

请求路由、服务路由、请求过滤

请求路由

参数配置如下所示,所有能够配置path规则的请求,都会被zuul网关转发到对应的url上。

zuul.routes.user-service.path=/user-service/**  
zuul.routes.user-service.url=http://178.69.1.39:9104/ 

服务路由

参数配置如下所示,zuul会对服务user-service进行路由,所有能够配置path规则的请求,都会被zuul网关转发到serivce-id服务上。

zuul.routes.user-service.path=/user-service/**  
zuul.routes.user-service.serviceId=user-service/**  
zuul.routes.user-service.strip-prefix=false

Zuul内置Hystrix和Ribbon

Zuul内置Hystrix和Ribbon模块的依赖,所以zuul天生就拥有线程隔离和断路器的自我保护功能,以及对服务调用的客户端负载均衡功能。
当使用path与url的映射关系来配置路由规则的时候,对于路由转发的请求不会采用hystrixCommand来包装,所以这类请求没有线程隔离和断路器的保护,并且也不会有负载均衡的能力。
因此,在使用zuul的时候尽量使用path和serviceId的组合(也就是服务路由)来进行配置,这样不仅可以保证api网关的健壮和稳定,也能用到ribbon的客户端负载均衡功能。
Zuul配置Hystrix和Ribbon,详情见:
https://www.cnblogs.com/expiator/p/10753746.html

请求过滤

待补充。
参考资料:
《SpringCloud微服务实战》

猜你喜欢

转载自www.cnblogs.com/expiator/p/10778213.html