springCloud-Alibaba——微服務之間使用Feign進行請求調用

目錄

(1)概述:

(2)引入依賴:

(3)修改啓動類:

(4)創建Feign接口:

(5)修改微服務調用:

(6)啓動測試:

(7)測試Feign負載均衡:

A、服務提供者多實例啓動:

B、測試負載均衡:


(1)概述:

Feign 是一個聲明式的僞 Http 客戶端,它使得寫 Http 客戶端變得更簡單。使用 Feign,只需要創建一個接口並註解。它具有可插拔的註解特性,可使用 Feign 註解和 JAX-RS 註解。Feign 支持可插拔的編碼器和解碼器。Feign 默認集成了 Ribbon,Nacos 也很好的兼容了 Feign,默認實現了負載均衡的效果。

因此在使用springCloudAlibaba微服務的時候,強烈推薦使用Feign來作爲微服務之間相互調用訪問的方式。

(2)引入依賴:

因爲商品微服務相當於是服務提供者,訂單微服務相當於是服務消費者,只有在服務消費者中才需要訪問調用服務提供者的接口,因此需要在訂單微服務的pom.xml中增加Feign的依賴:

(3)修改啓動類:

在啓動類上增加 @EnableFeignClients 註解開啓 Feign 功能。

(4)創建Feign接口:

Feign是面向接口開發的,因此先創建一個接口,通過Feign調用其它微服務所提供的接口,返回對應的信息。然後由消費者微服務項目中的controller或者service類中,通過創建項目中創建的Feign對象,然後調用對應的Feign接口方法即可完成微服務調用,就像調用本地接口一樣。

(5)修改微服務調用:

修改消費者微服務項目中的controller或者service類中,通過創建項目中創建的Feign對象,然後調用對應的Feign接口方法即可完成微服務調用。

(6)啓動測試:

先啓動nacos中心,然後啓動商品微服務、訂單微服務。訪問訂單微服務的接口還是和原來一樣可以正常的訪問返回信息。因此修改Feign接口成功。

(7)測試Feign負載均衡:

A、服務提供者多實例啓動:

修改商品微服務(服務提供者)的接口方法,打印一下當前實例的端口號。然後設置idea的商品微服務可以多實例啓動。然後商品微服務啓動一次,然後修改下server.port的值再啓動一個實例,即可完成商品微服務的多實例啓動。

通過查看nacos中product-server也是啓動了2個實例:

B、測試負載均衡:

通過手動刷新瀏覽器中訪問訂單微服務的接口,可以查看商品微服務多個實例啓動界面中,打印的服務訪問接口信息,可以得出結論,調用商品微服務的多個實例是輪流訪問的,實現了負載均衡。說明使用的Feign自動集成Ribbon,實現了負載均衡的效果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章