(原)3.3 Zookeeper应用 - 负载均衡

本文为原创文章,转载请注明出处,谢谢

负载均衡

1、原理

  • 服务端启动创建临时节点(下图中servers下节点),临时节点数据包含负载信息
  • 客户端启动获取服务器列表,并根据负载去连接一个负载较轻的服务器
  • 服务端每次接收到客户端的连接,添加自己的负载,客户端断开与自己的连接则减少自己的负载

2、架构图

(原)3.3 Zookeeper应用 - 负载均衡

  • Servers:服务器列表父节点
  • work Server n :服务器节点
  • Client n:客户端节点

3、客户端流程图

(原)3.3 Zookeeper应用 - 负载均衡

4、服务端流程图

(原)3.3 Zookeeper应用 - 负载均衡

5、客户端核心类

(原)3.3 Zookeeper应用 - 负载均衡

  • clientRunner:客户端调用入口
  • Client:客户端执行接口
  • ClientImpl:客户端执行实现
  • ClientHandler:连接服务器进行调用处理
  • BalanceProvider:负载均衡计算接口
  • AabstractBalanceProvider:负载均衡计算抽象类
  • DefaultBalanceProvider:默认负载均衡算法实现
  • ServerData:服务端数据信息

6、服务端核心类

(原)3.3 Zookeeper应用 - 负载均衡

  • ServerRunner:服务端调用入口
  • Server:服务端执行接口
  • ServerImpl:服务端执行实现
  • ServerHandler:服务端负载处理类
  • BalanceUpdateProvider:服务端负载更新接口
  • DefaultBalanceUpdateProvider:默认服务端更新实现
  • RegistProvider:注册服务端节点接口
  • DefaultRegistProvider:默认注册服务端节点实现
  • ZookeeperRegistContext:zookeeper节点注册实现类
上一篇:Android-项目介绍


下一篇:UnitOfWork机制的实现和注意事项