【SpringCloud】(二):服務發現和服務註冊

00潤物無聲00發表於2017-08-13

上篇部落格中的例項,存在一定的弊端。(http://blog.csdn.net/fxq8866/article/details/76879890

  1.呼叫地址硬編碼,當提供方地址發生變化時,我們需要手動的修改程式碼,來重新呼叫服務,不利於維護。

  2.服務提供者多個節點,無法實現負載均衡。


因此為了解決上述問題的抽象,引入了服務發現元件。




服務發現元件的功能:

  1.服務登錄檔:一個記錄當前可用服務例項的網路資訊的資料庫,是服務發現機制的核心。服務登錄檔提供查詢API和管理API,使用查詢API獲得可用的服務例項,使用管理API實現註冊和登出。

  2.服務註冊:服務消費者和服務提供者,都註冊到服務發現元件中

  3.健康檢查:服務消費者會向服務發現元件傳送心跳。


  上圖描述:服務提供者和消費者都會註冊到服務發現主鍵中,服務消費者從服務發現元件中的服務登錄檔上查詢服務提供者的IP和埠。服務消費者會向發現元件傳送心跳檢測,如果服務提供者在90s內沒有檢測到,就會從服務發現元件中登出掉。即該節點從服務登錄檔中剔除。


服務發現的2中方式

  1.客戶端:Eureka,ZK

  2.服務端:Consul + nginx


下文中詳細介紹了服務發現的客戶端和服務端方式。

  http://blog.daocloud.io/microservices-4/





相關文章