1. 程式人生 > >Spring Cloud -- 分散式下服務註冊的地位和原理(5)

Spring Cloud -- 分散式下服務註冊的地位和原理(5)

之前講過,為什麼需要註冊中心,當多個服務的時候如果還是需要靜態配置,既容易出錯有浪費人力,所以要使用註冊中心。那麼客戶端是怎麼從註冊中心發現服務的呢?
在這裡插入圖片描述

客戶端發現
客戶端從註冊中心獲取到服務清單後,使用輪詢,隨機,或者雜湊等機制(其實就是負載均衡的機制)從清單中獲取服務B的地址 然後在通過ip訪問B。是由A發起。
優點:簡單直接且知道所有可用的服務的地址
缺點:需要自己寫一套邏輯把B調出來

服務端發現
代理,服務端使用代理從眾多可用的服務中挑一個出來,然後A在找B。
優點:由於代理的介入,B和註冊中心對A是透明不可見,A服務只需要找代理髮個請求就可以了

在這裡插入圖片描述

在這裡插入圖片描述