讀 李林峰 分布式服務框架和原理8 13

2021-08-01 15:03:06 字數 1374 閱讀 5865

統一管理服務註冊發布和訂閱。

服務提供者在啟動時,根據配置,向註冊中心發布服務相關資訊;

服務消費者啟動時,根據配置,向註冊中心訂閱所需服務,本地快取;

註冊中心返回服務提供者資訊給消費者,如有變更,主動推送消費者,消費者重新整理本地快取;

服務消費者根據本地快取的服務提供者位址列表,選擇相應提供者進行呼叫;

鏈路的安全性:指的是註冊中心與客戶端連線的安全認證,基於ip的黑白名單或基於使用者名稱+密碼或基於秘鑰+數字證書的認證;

資料安全性:指的是資料的許可權控制:

服務提供者需要支援通過配置、註解、api介面呼叫等方式發布服務,同理,服務消費者也可以通過這些方式引用服務。

感覺少了一步,在完成服務註冊後,服務提供者需要啟動監聽,等待服務呼叫。

作用參考ab測試,保證系統的穩定性前提下,灰度發布解決公升級後的相容性問題。

沒搞過這些流程,而且,服務發布可以只發布部分集群,然後為集群配置路由規則引入流量,所以對這一塊沒想太深入。

服務消費者和提供者之間的互動通訊,除了正常的業務引數,可能需要攜帶額外的資訊,如消費者的ip位址,呼叫鏈的id等,要保證這些額外資訊不影響正常業務引數,即使有執行緒切換的場景發生。

作者說這些額外引數不能通過業務介面來進行傳遞,需要框架支援這種引數傳遞,不太同意,正確的說應該不要影響正常業務介面引數即可。

服務上線後的功能變更,bug修復,需要多版本管理。

服務提供者:發布時,支援指定服務的版本號;

服務消費者:消費服務的時候,支援指定引用的服務版本號或版本範圍。

服務提供者,發布服務的時候,指定版本號,對於經常變動的服務,單獨部署發布;

服務提供者引用服務時指定版本號或版本範圍;

**的hsf基於osgi,挺牛,能把osgi玩好的不容易。

osgi基於外掛程式管理,支援熱部署和熱公升級,參考eclipse的外掛程式體系。

不使用osgi的原因很多,最主要的就是學習成本太高,不易理解,實現複雜,而他的有點又可以通過其他技術解決,所以除了**的hsf實在沒聽說太多應用。

下節繼續學習….

分布式服務框架dubbo原理解析

alibaba有好幾個分布式框架,主要有 進行遠端呼叫 類似於rmi的這種遠端呼叫 的 dubbo hsf jms訊息服務 napoli notify kv資料庫 tair 等。這個框架 工具 產品在實現的時候,都考慮到了容災,擴充套件,負載均衡,於是出現乙個配置中心 configserver 的東...

分布式服務框架 Zookeeper

createmode persistent 建立後只要不刪就永久存在 ephemeral 會話結束年結點自動被刪除,ephemeral結點不允許有子節點 sequential 節點名末尾會自動追加乙個10位數的單調遞增的序號,同乙個節點的所有子節點序號是單調遞增的 persistent sequen...

大型分布式服務框架

1 首先遠端服務呼叫有三種模式 同步 非同步 future 非同步 callback 三種呼叫模型,正常的都是同步呼叫,呼叫的時候阻塞當前執行緒,非同步一般只會在特殊的情景下有用。2 全域性配置 所有服務的配置應該是需要在乙個全域性配置中心配置 zookeeper集群 的,而不是寫死在 裡面,避免出...