調用關系說明:
0. 服務容器負責啟動吭历,加載,運行服務提供者擂橘。
1. 服務提供者在啟動時晌区,向注冊中心注冊自己提供的服務。
2. 服務消費者在啟動時通贞,向注冊中心訂閱自己所需的服務朗若。
3. 注冊中心返回服務提供者地址列表給消費者,如果有變更昌罩,注冊中心將基于長連接推送變更數(shù)據(jù)給消費者哭懈。
4. 服務消費者,從提供者地址列表中茎用,基于軟負載均衡算法银伟,選一臺提供者進行調用,如果調用失敗绘搞,再選另一臺調用彤避。
5. 服務消費者和提供者,在內存中累計調用次數(shù)和調用時間夯辖,定時每分鐘發(fā)送一次統(tǒng)計數(shù)據(jù)到監(jiān)控中心琉预。
(1) 連通性:
注冊中心負責服務地址的注冊與查找,相當于目錄服務蒿褂,服務提供者和消費者只在啟動時與注冊中心交互圆米,注冊中心不轉發(fā)請求卒暂,壓力較小
監(jiān)控中心負責統(tǒng)計各服務調用次數(shù),調用時間等娄帖,統(tǒng)計先在內存匯總后每分鐘一次發(fā)送到監(jiān)控中心服務器也祠,并以報表展示
服務提供者向注冊中心注冊其提供的服務,并匯報調用時間到監(jiān)控中心近速,此時間不包含網絡開銷
服務消費者向注冊中心獲取服務提供者地址列表诈嘿,并根據(jù)負載算法直接調用提供者,同時匯報調用時間到監(jiān)控中心削葱,此時間包含網絡開銷
注冊中心奖亚,服務提供者,服務消費者三者之間均為長連接析砸,監(jiān)控中心除外
注冊中心通過長連接感知服務提供者的存在昔字,服務提供者宕機,注冊中心將立即推送事件通知消費者
注冊中心和監(jiān)控中心全部宕機首繁,不影響已運行的提供者和消費者作郭,消費者在本地緩存了提供者列表
注冊中心和監(jiān)控中心都是可選的,服務消費者可以直連服務提供者
(2) 健狀性:
監(jiān)控中心宕掉不影響使用弦疮,只是丟失部分采樣數(shù)據(jù)
數(shù)據(jù)庫宕掉后夹攒,注冊中心仍能通過緩存提供服務列表查詢,但不能注冊新服務
注冊中心對等集群挂捅,任意一臺宕掉后,將自動切換到另一臺
注冊中心全部宕掉后堂湖,服務提供者和服務消費者仍能通過本地緩存通訊闲先,但是不能注冊新服務。
服務提供者無狀態(tài)无蜂,任意一臺宕掉后伺糠,不影響使用。
服務提供者全部宕掉后斥季,服務消費者應用將無法使用训桶,并無限次重連等待服務提供者恢復