文章目錄
- 1. 什么是注冊中心
- 2. CPA理論
1. 什么是注冊中心
- 注冊中心有三種角色:
- 服務提供者(Server) :提供接口給其他微服務的程序。
- 服務消費者(Client):調用其他微服務提供的接口。
- **服務注冊中心(Registry) **:注冊中心用于保存Serverde的注冊信息,當Server節點發生變化時,注冊中心會同步變更。服務與注冊中心會使用一定的機制進行通信,如果注冊中心與某服務長時間無法通信,就會注銷該該實例。
服務注冊: 服務提供者會在啟動時向注冊中心注冊服務,并且會定時向注冊中心發送心跳匯報存活狀態。
服務發現: 服務消費者會從注冊中心中獲取服務提供者提供的地址,并通過獲取的地址調用服務提供者的接口。服務發現就是給服務消費者提供一個可用的服務列表。
2. CPA理論
一致性?: 指的是強一致性.
可用性(A): 保證每個強強都有響應(響應結果可能不對)。
假設我們現在客戶端對數據庫進行操作,如果對數據庫進行增刪改,那么主庫會將數據同步到從庫中。那么數據庫集群將數據返回給數據庫響應的時機就有兩種選擇:
- 在主庫將數據同步給從庫之前----弱一致性。
- 在主庫將數據同步給從庫之后----強一致性。
分區容錯性§:當出現網絡分區的情況下,系統依舊能夠對外提供服務。
網絡分區:分布式系統的節點之間因為網絡故障導致部分節點之間無法進行通信,從而形成了孤立的子網絡。
在分布式系統中不餓能同時保證C和A,只能選擇一個,也就是 CA架構 或 CP架構。
Eureka使用的是AP架構。Nacos支持CP和AP架構,默認是AP架構。