Feign + Ribbon + Eureka各组件图
2020-11-24 15:21:47 9 举报
组件图
作者其他创作
大纲/内容
ClientFeign客户端
PeerEurekaNodes集群
AbstractLoadBalancerAwareClient(基类)
PeerAwareInstanceRegistryImpl集群化的注册表
ResponseCache二级缓存
EurekaServerEureka服务端(逻辑上)
Feign原理
ConcurrentLinkedQueue<RecentlyChangedItem>最近更新列表
4. 注册
将一段时间内的请求批量发送给其他服务端
LoadBalancerContext负载均衡上下文
ReflectiveFeign.FeignInvocationHandler动态代理接口
3. execute提交Feign请求
1. 注册等各种操作
AtomicReference<Applications>实例列表
动态代理对象
DynamicServerListLoadBalancer动态服务实例列表负载均衡器
AbstractInstanceRegistry单例的注册表基类
2. getServerFromLoadBalancer选择出服务实例
2.invoke执行代理方法
1. build创建动态代理对象
EurekaClientEureka客户端
InstanceResource
1. executeWithLoadBalancer()提交负载均衡请求
ConcurrentHashMapspan style=\"font-size: inherit;\
IResponse负载均衡结果
DiscoveryEnabledNIWSServerListEureka服务实例加载器
batchingDispatcher批量通知器
Eureka原理
BaseLoadBalancer基础负载均衡器
2. 同步发送各种通知给其他集群
ResponseFeign响应
ServerList服务实例列表加载器
3. 拉取注册表
List<PeerEurekaNode>集群节点
Eureka客户端
Feign.builder
ApplicationsResource
Ribbon 原理
各种Resource对应Rest接口(逻辑上)
ApplicationResource
IClient负载均衡客户端
Server
各组件图
EurekaTransportEureka网络通信组件
LoadBalancerFeignClient(Spring cloud Feign 客户端)
拉取注册表等各种请求
4. execute提交实际请求获取结果
ILoadBalancer负载均衡选择器
Eureka服务端
IRule负载均衡策略
FeignLoadBalancer(Spring Cloud 负载均衡客户端)
3. 返回给负载均衡客户端
0 条评论
下一页