helios的客戶端架構(gòu)和服務(wù)器端類似,只有部分類有所區(qū)別(黃色的),下圖是客戶端的架構(gòu)

可以看出實(shí)際上只有IConnection的倆個實(shí)例(TcpConnection、UdpConnection)是和服務(wù)器端略有不同。由于客戶端也不涉及到回傳問題,所以也沒有Channel相關(guān)內(nèi)容。
客戶端的Cluster
首先還是上圖,展示客戶端的Cluster
上圖中根據(jù)綠線進(jìn)行分割,可以分為三部分:
helios客戶端會維護(hù)服務(wù)器端的列表(Cluster)。通過ClusterManagerFactory創(chuàng)建相應(yīng)的ClusterManager。通過ClusterManager維護(hù)服務(wù)器端的借點(diǎn)列表。(RoundRobinClusterManager負(fù)責(zé)多服務(wù)器節(jié)點(diǎn),SingleNodeClusterManager表示服務(wù)器端只有單一節(jié)點(diǎn))。
NormalConnectionBuilder只是一個工廠模式,創(chuàng)建相應(yīng)的IConnection對象。
最后PooledKeyedConnectionPRovider負(fù)責(zé)維護(hù)IConnection對象和ClusterManager。通過IConnection判斷服務(wù)器端節(jié)點(diǎn)是否暢通,通過ClusterManager維護(hù)服務(wù)器節(jié)點(diǎn)的
狀態(tài)。
新聞熱點(diǎn)
疑難解答