1. 程式人生 > >Spring Cloud Eureka 5 (服務發現與消費-簡單的robbin使用)

Spring Cloud Eureka 5 (服務發現與消費-簡單的robbin使用)

boot ng- clas hello enabled 中心 相同 service 服務註冊

通過上述介紹,我們已經有了服務註冊中心和服務提供者

下面我們來嘗試構建一個服務的消費者

它要完成兩個功能,發現服務和消費服務,其中發現服務由eureka客戶端完成,消費服務由ribbon完成。

ribbon在eureka服務發現的基礎上,實現了一套對服務實例的選擇策略,從而實現對服務的消費。

在此之前我們需要做一些準備

啟動之前的服務註冊中心,為hello-service添加一個簡單的接口,同時在創建一個hello-service2的項目並為之添加與hello-service相同的配置

在hello-service中新建一個HelloController的類

技術分享圖片

技術分享圖片

啟動項目測試下接口

技術分享圖片

安裝此配置創建hello-service2啟動項目測試接口

技術分享圖片

這裏為了區分將返回值寫為hello2同時配置文件中的端口改為8081

技術分享圖片

至此準備工作完成我們也可以再次看下註冊中心的情況

技術分享圖片

至此兩個hello-service已經註冊進來了。

我們正式開始構建服務的消費者

新建一個spring boot項目命名為ribbon-consumer

較之之前的hello-service我們加入了spring-cloud-starter-ribbon依賴

技術分享圖片

為服務主類加入@EnableDiscoveryClient註解

同時在該主類中創建RestTemplate的spring Bean實例並通過@LoadBalanced註解開啟客戶端的負載均衡

技術分享圖片

創建ConsumerController類並實現一個簡單的/robbin-consumer的接口

技術分享圖片

application.properties做如下配置

spring.application.name=ribbon-consumer
server.port=9000
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

啟動項目

訪問測

技術分享圖片

技術分享圖片

從測試結果顯示ribbon-consumer分別在hello-service和hello-service2兩個實例上做輪詢訪問

註:

由於各個服務間會相互調用所以服務的提供者和消費者也是相對的概念。

Spring Cloud Eureka 5 (服務發現與消費-簡單的robbin使用)