天天看點

微服務架構:spring cloud之服務注冊和服務發現

微服務架構:spring cloud之服務注冊和服務發現

SpringCloud主要提供的子產品包括:服務發現(Eureka),斷路器(Hystrix),智能路有(Zuul),用戶端負載均衡(Ribbon),Archaius,Turbine,Eureka為微服務的注冊中心。

       Eureka是Spring Cloud Netflix的一個子子產品,也是核心子產品之一。用于雲端服務發現,一個基于REST的服務,用于定位服務,以實作雲端中間層服務發現和故障轉移。

        服務注冊與發現對于微服務系統來說非常重要。有了服務發現與注冊,你就不需要整天改服務調用的配置檔案了,你隻需要使用服務的辨別符,就可以通路到服務。他的功能類似于dubbo的注冊中心(register)。

       服務發現:服務發現是微服務基礎架構的關鍵原則之一。試圖着手配置每個用戶端或某種格式的約定可以說是非常困難的和非常脆弱的。Eureka是Netflix服務發現的一種服務和用戶端。這種服務是可以被高可用性配置的和部署,并且在注冊的服務當中,每個服務的狀态可以互相複制給彼此。  

       服務注冊:當一個用戶端注冊到Eureka,它提供關于自己的中繼資料(諸如主機和端口,健康名額URL,首頁等)Eureka通過一個服務從各個執行個體接收心跳資訊。如果心跳接收失敗超過配置的時間,執行個體将會正常從注冊裡面移除 

       下圖是基本的服務注冊和發現

微服務架構:spring cloud之服務注冊和服務發現

 通過@EnableEurekaServer注解啟動一個服務注冊中心提供給其他應用進行對話。

 http://127.0.0.1:8000/ 可以看到如下圖

微服務架構:spring cloud之服務注冊和服務發現

       是不是很簡單啊,那麼人要問了,為什麼連登陸賬号和密碼都沒有,在外網不是直接能進入注冊中心, 這樣很不安全啊。好,那我們加入登陸賬号和密碼

  (a):加入注冊中心需要引入jar,在pom.xml加入

  (b):配置檔案建立一個bootstrap.yml檔案

  記得重新編譯打包然後執行main方法。

       首先要去掉注冊中心加入的權限,不然服務端會連結不上注冊中心進行注冊.

微服務架構:spring cloud之服務注冊和服務發現
微服務架構:spring cloud之服務注冊和服務發現

執行demo應該能看上面的結果,下圖是注冊中心找到的服務BIZ-SERVICE-0,上圖是服務暴露的接口 

繼續閱讀