微服務架構基礎之註冊中心

微服務架構基礎之註冊中心性能優化

在微服務架構中,註冊中心是核心的基礎服務之一。在微服務架構流行以前,註冊中心就已經開始出如今分佈式架構的系統中。Dubbo是一個在國內比較流行的分佈式框架,被大量的中小型互聯網公司所採用,Dubbo是一個很是實用的框架,提供了比較完善的服務治理功能,而服務治理的實現主要依靠的就是註冊中心。服務器

1 什麼是註冊中心架構

註冊中心能夠說是微服務架構中的」通信錄「,它記錄了服務和服務地址的映射關係。在分佈式架構中,服務會註冊到這裏,當服務須要調用其它服務時,就到這裏找到服務的地址,進行調用。併發

微服務架構基礎之註冊中心

 

舉個現實生活中的例子,好比說,咱們手機中的通信錄的兩個使用場景:負載均衡

  1. 當我想給張三打電話時,那我須要在通信錄中按照名字找到張三,而後就能夠找到他的手機號撥打電話。
  2. 李四辦了手機號,那麼他把手機號告訴我,我把李四的號碼存進通信錄,後續,我就能夠從通信錄找到他。

上述兩個場景就是咱們在微服務架構中經常提到的:框架

  1. 服務發現
  2. 服務註冊

2 爲何須要註冊中心分佈式

瞭解了什麼是註冊中心,那麼咱們繼續談談,爲何須要註冊中心。ide

在分佈式系統中,咱們不單單是須要在註冊中心找到服務和服務地址的映射關係這麼簡單,咱們還須要考慮更多更復雜的問題:微服務

  1. 服務註冊後,如何被及時發現
  2. 服務宕機後,如何及時下線
  3. 服務如何有效的水平擴展
  4. 服務發現時,如何進行路由
  5. 服務異常時,如何進行降級
  6. 註冊中心如何實現自身的高可用

這裏問題的解決都依賴於註冊中心。簡單看,註冊中心的功能有點相似於DNS服務器或者負載均衡器,而實際上,註冊中心做爲微服務的基礎組件,可能要更加複雜,也須要更多的靈活性和時效性。高併發

3 常見的註冊中心

結合開發中經常使用的微服務架構體系,再看註冊中心。如下主要以Java體系中經常使用的微服務框架爲例進行說明。

3.1 Dubbo中的註冊中心

Dubbo支持多種註冊中心的實現,經常使用的是:

  • Redis
  • Zookeeper

此處,能夠看到,以上的實現主要是爲了集中存儲服務的信息。而這些組件自己就能夠作到高性能和高可用。

微服務架構基礎之註冊中心

 

Dubbo官方架構圖

在Dubbo架構圖中,能夠看到註冊中心(Registry)位於頂端,全部的服務治理相關的操做都圍繞它進行。服務提供者(Provider)註冊到註冊中心,服務消費者(Comsumer)到註冊中心訂閱,同時,註冊中心中的變動也會通知服務消費者。

3.2 SpringCloud中的註冊中心

目前,SpringCloud能夠說是最流行的微服務架構,SpingCloud整個體系功能完備,與Spring框架完美契合,開箱即用,極大下降了落地微服務架構的開發成本。在SpringCloud中,也是支持多種註冊中心的:

  • Spring Cloud Netflix Eureka
  • Spring Cloud Zookeeper
  • Spring Cloud Consul

以上三種,最經常使用的主要是Eureka,官方是這樣定義的:

Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.

與Dubbo對於服務註冊的抽象有所不一樣,Eureka使用的是C/S架構:

  1. Eureka Server,註冊中心
  2. Eureka Client,服務消費者和服務提供者

並且,Eureka支持多節點的部署,從而保證高可用。生產環境中,經常使用的方式是部署兩臺節點,作成一個P2P的集羣。

4 小結

本文主要從概念上對微服務架構中的註冊中心進行分析講解,讓讀者從宏觀上去理解註冊中心。文中主要以常見的註冊中心爲例,固然,在其餘的微服務架構體系中,這些原理是基本相似的。讀者能夠結合本身的實際開發經驗,理解註冊中心的概念,從而更好地駕馭微服務。

順便給你們推薦一個Java架構方面的交流學習羣:698581634,裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化這些成爲架構師必備的知識體系,主要針對Java開發人員提高本身,突破瓶頸,相信你來學習,會有提高和收穫。在這個羣裏會有你須要的內容  朋友們請抓緊時間加入進來吧。

相關文章
相關標籤/搜索