1. 程式人生 > >SpringCloud 服務之間呼叫

SpringCloud 服務之間呼叫

Spring cloud 中服務之間通過restful方式呼叫有兩種方式:

1.restTemplate+Ribbon

2.feign

Ribbon 是客戶端負載均衡器,Zuul閘道器負載均衡器 針對外部請求做負載。

客戶端ribbon的負載均衡,解決的是服務發起方(在Eureka註冊的服務)對被呼叫的服務的負載,比如我們查詢商品服務要呼叫顯示庫存和商品明細服務,通過商品服務的介面將兩個服務組合,可以減少外部應用的請求

 

ribbon是對服務之間呼叫做負載,是服務之間的負載均衡,zuul是可以對外部請求做負載均衡。

Feign http負載平衡客戶端:1、Feign採用的是介面加註解;2、Feign 整合了ribbon

1.首先建立一個eureka客戶端工程

2.啟動類上增加客戶端註解

3.新增yml配置資訊

4.增加一個服務類

5.啟動 工程測試如下

6.新增一個客戶端類實現服務呼叫,RestTemplate 的三種使用方式:

6.1 直接new一個RestTemplate 

這種的缺點是地址是寫死的,在實際的為服務中我們是不知道對方的地址的。

6.2利用loadBalanceerClient通過應用名獲取url

6.3首先建立一個RestTemplate配置類

在控制層注入RestTemplate  使用restTemplate+應用名的方式訪問註冊服務。注意ribbon發現服務時服務名稱中不能含有"_"。