Ribbon---业务流程、类图
2021-10-31 15:11:19   0  举报             
     
         
 Ribbon整体业务流程+类图
    作者其他创作
 大纲/内容
 ConfigurationBasedServerList
  从配置列表获取服务信息
  类图
  传输
  ServerIntrospector
  服务信息内省
  BaseLoadBalancer
  基本实现1、Ping定时任务的开启2、Server变更的监听
  判断是否开启定时任务
  IRule
  负载均衡的策略
  缓存更新事件
  缓存更新事件触发
  ServerListUpdater
  动态服务列表更新
  负载均衡器
  LoadBalancerFeignClient
  Ribbon重写
  通过Eureka获取
  LoadBalancerStats
  负载均衡的统计信息1、统计时区汇总信息2、统计服务汇总信息
  响应结果
  定时
  AbstractLoadBalancerPing
  根据负载均衡器中服务状态信息判断
  ResponseTimeWeightedRule
  尝试
  30秒
  Ping服务
  MetaInfo
  应用名称、实例ID、服务组
  AbstractServerList
  增加服务列表过滤器
  RandomRule
  随机
  Server
  服务器信息
  RibbonLoadBalancingHttpClient
  实现
  包含
  EurekaClient
  FeignLoadBalancer.RibbonRequest
  RetryRule
  尝试,超时取消
  PingConstant
  任意的探活均是常量
  RetryableRibbonLoadBalancingHttpClient
  重试
  DefaultClientConfigImpl
  默认实现
  WeightedResponseTimeRule
  PingUrl
  探活动作
  执行
  过滤
  更新
  内省
  Client
  Feign的客户端
  Context每个客户端一个Spring的上下文
  IPing
  ZoneAwareLoadBalancer
  多个时区中随机选择一个时区
  FeignLoadBalancer
  从IClientConfig获取基本信息,然后调用客户端执行
  ILoadBalancer
  负载均衡1、服务列表2、Rule规则3、服务可用性监控
  拉取配置信息
  DiscoveryEnabledNIWSServerList
  从Eureka客户端获取服务列表
  DefaultServerIntrospector
  是
  ServerListFilter
  过滤器
  转化
  ServerList
  服务列表的提供者1、获取初始化的服务列表2、获取更新后的服务列表
  LoadBalancerContext
  负载均衡器的上下文连接时间、读取时间最大重试次数、下一个服务器最大重试次数VIP信息
  AbstractLoadBalancer
  抽象实现
  返回结果
  OkHttpLoadBalancingClient
  Ribbon的整体流程
  RoundRobinRule
  轮询
  Feign.Request
  环境
  初始化Ribbon的各个组件
  拉取已经更新完毕的服务列表
  AbstractLoadBalancerAwareClient
  抽象实现连接时间、读取时间最大重试次数、下一个服务器最大重试次数VIP信息
  EurekaNotificationServerListUpdater
  开启线程池,监听Eureka的缓存更新事件,更新服务列表
  AbstractLoadBalancerRule
  基本实现
  InstanceInfo
  元数据
  IPingStrategy
  探活策略
  PollingServerListUpdater
  服务列表更新
  AbstractLoadBalancingClient
  负载均衡实现
  DiscoveryEnabledServer
  客户端名称
  SerialPingStrategy
  串行执行探活
  IClientConfig
  客户端配置
  Ping策略
  DynamicServerListLoadBalancer
  服务列表的动态监控
  创建
  服务Alive
  依赖
  更新服务列表信息
  更新Servers
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
  
  
  
  
  
  
  
  
 