Tag Archives | ribbon

Netflix源码解析之Ribbon:客户端负载均衡器Ribbon的设计和实现

1. LB的基本功能要求

想想一个LB是怎么工作的,不管是硬件的还是软件的,我们要求它有哪些能力,提个最精简的需求清单出来:好像能想到的也就两个吧:

  • ?设置添加和读取后端的服务(器)列表
  • 能从中选择一个服务(器)

Netflix的LoadBalancer也是这样被要求的。通过ILoadBalancer来要求的。

iloadbalancer_outline

可以看到主要有:对应配置后端服务;读取后端服务;标记一个服务不可用;当然最主要的是选择一个后端服务来提供服务。

这是2.1.0版本的方法列表,2.1.3开始版本也就是把getServerList (boolean availableOnly)分成了两个getReachableServers和getAllServers(解释是in favor of the cleaner),一个分成俩,clean了吗,好像一点点。一个是得到所有的后端ser[......]

阅读全文

Tags: , , ,

Comments { 4 }