SpringCloudGateway网关负载均衡
2021-06-24 11:33:22 7 举报
SpringCloudGateway是Spring官方推出的第二代网关框架,取代了Zuul。它基于Spring5.0+SpringBoot2.x和Project Reactor等技术开发,性能高,同时支持WebFlux,响应式编程。SpringCloudGateway网关负载均衡采用了Ribbon来实现客户端的负载均衡。Ribbon是一个基于HTTP和TCP的客户端负载均衡器,它可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载作用。当请求来临时,如果ribbonServerList获取的服务端地址为null或者访问失败则会采取重试机制。
作者其他创作
大纲/内容
get()实际服服务
GlobalFilter
服务list
获取服务list
ReactiveLoadBalancerClientFilter
下一个filter
NacosReactiveDiscoveryClient
查找路由并处理请求
Predicate
DiscoveryClientServiceInstanceListSupplier
DispatcherHandler#handlerMappings
RoutePredicateHandlerMapping
ServiceInstanceListSupplier,其被CachingServiceInstanceListSupplier代理
进入filter
Nacos
实际获取服务的实例
根据serviceId choose()
ReactiveDiscoveryClient
处理请求并组装uri:lb://service-name/path
RouteToRequestUrlFilter
ReactiveLoadBalancer
PathRoutePredicateFactory
匹配请求路径
0 条评论
下一页