詳解Service-Center
一、什麼是Service-Center
1.1 Service-Center簡介
Service-Center是一個服務註冊中心。服務提供者可以將自身的實例信息註冊到 ServiceCenter,以供服務消費者發現並使用它。
1.2 Service-Center的優點
- 解耦服務提供者與服務消費者,服務消費者不需要硬編碼服務提供者地址。
- 服務動態發現及可伸縮能力,服務提供者實例的動態增減能通過註冊中心動態推送到服務消費者端。
- 通過註冊中心可以動態的監控服務運行質量及服務依賴,爲服務提供服務治理能力
二、爲什麼要使用Service-Center
在微服務架構中,一個應用由一組職責單一化的服務組成,各個服務被動態的部署到不同的節點。面對這樣一組服務,應該如何去管理服務之間的依賴關係呢?
服務註冊中心的出現正是爲了解決這樣的問題,它提供的註冊機制,允許服務提供者將自己的信息登記到中心;提供的發現機制,供服務消費者從中心查找服務提供者信息。
三、Service-Center註冊發現流程
將整個流程用找對象來比喻的話,
啓動流程:
- 待婚者(Provider)向 婚戀機構(Service-Center)提交 個人信息
- 婚戀機構(Service-Center)將 待婚者(Provider)個人信息存儲起來(ETCD)
- 求偶者(Consumer)向 婚戀機構(Service-Center)獲取符合條件的 待婚者(Provider)信息
- 求偶者(Consumer)將 待婚者(Provider)信息存儲到通訊錄(cache)
- 求偶者(Consumer)向 婚戀機構(Service-Center)訂閱 待婚者(Provider)動態
通訊流程:
- 婚戀機構(Service-Center)制定了契約,要求 待婚者(Provider)每30s(可配置)向自己報告健康狀況(心跳保活),如果未收到報告,信息將會過期並被刪除;
- 求偶者(Consumer)向 婚戀機構(Service-Center)訂閱了 待婚者(Provider)動態,若有變化,將更新通訊錄(cache);
- 求偶者(Consumer)從通訊錄(cache)中獲取聯繫方式(endpoints),並進行通訊。