Spring Cloud入门 (2) - Ribbon负载均衡

1、在Netflix中,Eureka服务实例可以进行集群部署,但是客户端发送的请求是如何被分摊到集群中的各个服务是由Ribbon实现的

 

2、一个比较简单的Ribbon程序结构如下图:

 

 在其中,Ribbon框架充当了负载均衡器的作用

 

3、为了实现负载均衡的基础功能,Ribbon的负载均衡器有以下三个大子模块:

  ①Rule : 一个逻辑组件,这些逻辑决定从服务器列表中返回那个服务器的实例

  ②Ping : 该组件主要使用定时器来确保服务器网络可以连接

  ③ServerList : 服务器列表,可以通过静态的配置确定负载的服务器,也可以动态指定服务器列表。

 

4、Rule 子模块

  Ribbon 的自带了若干内置负载规则,也允许用户自定义规则来完成某些特定的需求。

  Ribbon 内置负载规则涵盖了大多数需求,主要有以下内置负载规则:

    1)RoundRobinRule : 默认。简单轮询服务列表

    2)AvailabilityFilteringRule : 忽略无法连接的服务器和并发数过高的服务器。

    ...

 

5、Ping 机制

  在负载均衡器中,提供了Ping 机制,每隔一段时间,回去 Ping 服务器,判断服务器是否存活。

posted @ 2019-09-20 14:48  lkc9  阅读(154)  评论(0编辑  收藏  举报