helios的客戶端架構和服務器端類似,只有部分類有所區別(黃色的),下圖是客戶端的架構
可以看出實際上只有IConnection的倆個實例(TcpConnection、UdpConnection)是和服務器端略有不同。由于客戶端也不涉及到回傳問題,所以也沒有Channel相關內容。
客戶端的Cluster
首先還是上圖,展示客戶端的Cluster
上圖中根據綠線進行分割,可以分為三部分:
helios客戶端會維護服務器端的列表(Cluster)。通過ClusterManagerFactory創建相應的ClusterManager。通過ClusterManager維護服務器端的借點列表。(RoundRobinClusterManager負責多服務器節點,SingleNodeClusterManager表示服務器端只有單一節點)。
NormalConnectionBuilder只是一個工廠模式,創建相應的IConnection對象。
最后PooledKeyedConnectionPRovider負責維護IConnection對象和ClusterManager。通過IConnection判斷服務器端節點是否暢通,通過ClusterManager維護服務器節點的
狀態。
|
新聞熱點
疑難解答