Odoo对接电商网站供应链流程图v0.1
2018-03-08 20:46:21 0 举报
SpringCloudRibbon
作者其他创作
大纲/内容
服务调用层配置RestTemplate和@LoadBalanced注解为初始化LoadBalancerClient Bean的配置类LoadBalanceAutoConfiguration提供条件,choose方法获取服务实例,RibbonLoadClient的execute是将服务实例转型为RibbonServer,并将server信息装载进RibbonLoadBalancerContext,reconstructURI方法将服务实例URi转换为Ip+port格式;
LoadBalancerRequestFactory
IRule
IPing
BaseLoadBalancer配置了默认的IPING,IRule,IClientConfig策略,启动了服务清单列表监控任务,更新服务清单列表,由于Serverlist被volatile修饰,具有即时的内存可见性,使线程可便利获取Serverlist,并通过读写锁实现服务清单的并发安全性;
volatile ServerListFilter
volatile ServerList
HttpResponse
LoaderBalancerIntereptor
七种负载均衡策略
LoadBalancerClient
LoadBalanceAutoConfiguration
ZoneAwareLoadBalancer
Start
IClientConfig
ClientHttpRequest
RibbonLoadBalancerClient
Monitors
DynamicServerListLoadBalancer
RibbonLoadBalancerContext
RibbonAutoConfiguration
ILoaderBalancer
此工厂类将请求包装并绑定ServiceInstance,均衡器,最终将请求委派给ClientHttpReuest进行处理,最终得到远程调用的响应信息;
健康检查策略
@Configuration@ConditionalOnClass(RestTemplate.class)@ConditionalOnBean(LoadBalancerClient.class)@EnableConfigurationProperties(LoadBalancerRetryProperties.class)主要功能点:为restTemplate设置负载均衡拦截器LoadBalancerInterceptor(ClientHttpRequestInterceptor的实现类)
ServiceInstanceChooser
ServerStausChangeListener
结束
BaseLoadBalancer
收藏
收藏
0 条评论
下一页