天天看點

springCloud-服務注冊中心Eureka

  1. Spring-Cloud Euraka介紹

    Eureka是Netflix中的一個開源架構,是Spring Cloud集合中一個元件與 zookeeper、Consul一樣,都是用于服務注冊管理

  2. 什麼是服務治理

    在傳統的rpc遠端調用架構中,管理每個服務與服務之間依賴關系比較複雜,由于難以管理,是以需要使用服務治理,管理服務于服務之間依賴關系,可以實作服務調用、負載均衡、容錯等,實作服務發現與注冊。

  3. 什麼是服務注冊與發現

    Eureka采用了CS的設計架構,Eureka Server為伺服器,系統中的其他微服務,使用 Eureka的用戶端連接配接到 Eureka Server并維持心跳連接配接,這樣就可以實作Eureka Server 來監控系統中各個微服務是否正常運作,另一方(消費者|服務提供者),以該别名的方式去注冊中心上擷取到實際的服務通訊位址,說到用戶端服務端,有必要提一下Eureka兩元件

  4. Eureka兩大元件
  • Eureka Server提供服務注冊服務,每個微服務節點通過配置啟動,會在EurekaServer中進行注冊,EurekaServer中的服務系統資料庫中将會存儲所有可用服務節點的資訊,服務節點的資訊可以在界面中直覺看到
  • Eureka用戶端具備一個内置的、使用輪詢(round-robin)負載算法的負載均衡器。在應用啟動後,将會向EurekaServer發送心跳(預設周期為30秒)。如果EurekaServer在多個心跳周期内沒有接收到某個節點的心跳,EurekaServer将會從服務系統資料庫中把這個服務節點移除(預設90秒)

Eureka系統架構圖

springCloud-服務注冊中心Eureka

這是Eureka的系統架構圖,舉個例子,教師授課,學生聽課,學校提供注冊.這三者就像是一個Eureka架構

教師 相當于 Service Provider

學生 相當于 Service Consumer

學校 相當于 Eureka Server

每個老師在學校中進行注冊入職,這個時候學生就可以通過别名的方式擷取授課内容,比如說:從工号101的老王那裡擷取國文知識,這個時候學校也清晰地知道哪個老師教哪些學生一個監控,此外上面提到用戶端有一個心跳連接配接,什麼意思就是老師對學校說:世界那麼大,我想出去看看,對吧,學校就會将老師從學校踢出,從注冊中心移除.