本文為原創文章,轉載請注明出處,謝謝
負載均衡
1、原理
- 服務端啟動創建臨時節點(下圖中servers下節點),臨時節點數據包含負載信息
- 客戶端啟動獲取服務器列表,並根據負載去連接一個負載較輕的服務器
- 服務端每次接收到客戶端的連接,添加自己的負載,客戶端斷開與自己的連接則減少自己的負載
2、架構圖
- Servers:服務器列表父節點
- work Server n :服務器節點
- Client n:客戶端節點
3、客戶端流程圖
4、服務端流程圖
5、客戶端核心類
- clientRunner:客戶端調用入口
- Client:客戶端執行接口
- ClientImpl:客戶端執行實現
- ClientHandler:連接服務器進行調用處理
- BalanceProvider:負載均衡計算接口
- AabstractBalanceProvider:負載均衡計算抽象類
- DefaultBalanceProvider:默認負載均衡算法實現
- ServerData:服務端數據信息
6、服務端核心類
- ServerRunner:服務端調用入口
- Server:服務端執行接口
- ServerImpl:服務端執行實現
- ServerHandler:服務端負載處理類
- BalanceUpdateProvider:服務端負載更新接口
- DefaultBalanceUpdateProvider:默認服務端更新實現
- RegistProvider:注冊服務端節點接口
- DefaultRegistProvider:默認注冊服務端節點實現
- ZookeeperRegistContext:zookeeper節點注冊實現類