服務註冊中心設計注意點

2021-07-29 20:11:08 字數 1203 閱讀 6525

幾個概念:

1 服務提供者,就是服務的提供方,有可能就是乙個普通的類檔案

2 服務消費者 可能是乙個簡單的客戶端,web前台

3 服務註冊中心 

a.高ha:支援資料庫持久化和服務集群

b.資料一致性問題,集群中的所有客戶應該看到同乙份資料不能出現讀寫資料不一致

c.資料變更主動推送,當註冊中心的資料發生變更時要及時通知客戶端

關鍵性功能設計:

工作原理:

1)服務提供者在啟動時,根據發布檔案中配置的服務發布訊息像註冊中心註冊自己提供的服務

2)消費者在啟動時,像註冊中心訂閱自己所需要的服務,消費者重新整理自己的本地快取路由表

3)註冊中心返回服務提供者的位址列表給消費者,如果有變更,註冊中心推送變更資料給消費者,消費者更新自己的本地快取列表

4)服務消費者根據得到的服務提供者位址列表,基於負載均衡演算法選擇其中一台server為自己提供服務

1、支援對等集群

註冊中心要對等集群,防止乙個多個註冊中心程序宕機的時候,不會導致註冊中心集群功能不可使用

注意:對於客戶端來說,無論註冊中心集群配置多少個程序,客戶端都是只需要連線其中乙個

2、提供curd介面

客戶端連線到註冊中心之後要能夠對註冊中心的資料進行增(發布或訂閱新的服務)刪(去註冊已發布的服務)改(修改已發布的服務屬性,進行動態服務治理)查(查詢當前系統的服務訊息和訂閱的消費者訊息)等操作

3、安全加固

a.鏈路的安全性  b.資料的安全性

鏈路的安全性指的是服務中心對客戶端進行安全認證,策略很多,最簡單的就是基於ip的黑白名單校驗,更加複雜的是基於使用者名稱+密碼的認證或者是基於秘鑰+數字證書的認證

資料的安全性主要是對資料進行許可權控制,不同的人有不同的訪問許可權

訂閱發布機制:對服務的監聽,內容變更時,可以收到註冊中心的訊息推送

服務提供者可以動態的修改服務名稱、內容等可以將變更推送給監聽它的消費者

優點:1)透明化路由 服務者和消費者解耦,消費者無需硬編碼服務提供者位址

2)服務健康狀態監測 註冊中心可以實時監測發布服務這的質量,若服務宕機,註冊中心會通知消費者

3)伸縮能力強 動態擴充套件伺服器後,註冊中心會將新增的伺服器主動推送給客戶端

可靠性:

1)對等集群,一台宕機不影響服務使用

2)全部宕機,不影響服務,但是沒辦法註冊新的服務或者下線服務

3)通過長連線心跳檢測服務提供者的健康狀態

spring cloud 服務註冊中心

這裡使用的spring boot 版本為 2.1.2.release1.pom部分 父 pom dependencymanagement org.springframework.cloud spring cloud dependencies greenwich.release pom import ...

Eureka服務註冊中心

1.適用場景有侷限 如果服務提供者的網路位址 ip和埠 發生變化,將會影響服務消費者。2.無法動態伸縮 每個微服務一般都會部署多個例項,從而實現實現容災和負載均衡,微服務系統需要具備自動伸縮的能力。如何解決上述方案 1 需要乙個強大的服務發現機制,服務消費者使用這種機制獲取服務提供者的網路資訊,及時...

eureka 服務註冊中心

作為服務註冊中心,eureka比zookeeper區別 著名的cap理論指出,乙個分布式系統不可能同時滿足c 一致性 a 可用性 和p 分割槽容錯性 由於分割槽容錯性在是分布式系統中必須要保證的,因此我們只能在a和c之間進行權衡。在此zookeeper保證的是cp,而eureka則是ap 1.zoo...