javascript
5.Spring Cloud Alibaba教程:Nacos整合Feign
概述
Feign是一個聲明式的http客戶端。使用Feign只需要創建接口并加上對應的注解,就可以實現類似RestTemplate方式的調用,只是它將底層的http請求代碼隱藏起來。另外,Feign默認集成了Ribbon,Nacos也可以很好地兼容Feign,具備負載均衡的功能。
注:本文的代碼是基于前2篇Nacos的代碼基礎上,繼續添加的功能
引入依賴
在consumer服務加入以下依賴:
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency></dependencies>增加注解@EnableFeignClients
在ConsumerApplication啟動類啟動類加上 @EnableFeignClients
@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);} }創建Service
-
創建接口HelloService
-
加上注解 @FeignClient,指定value屬性,值為nacos顯示的provider服務名稱
-
加上echo方法,調用provider的接口。
-
代碼也很簡單,如下:
調用Service
- consumer的controller增加一個接口進行測試
測試
分別運行provider和consumer,然后postman訪問http://localhost:8020/echo/feign/lisi
Feign負載均衡
創建provider-2
將provider的bootstrap.properties復制一份,命名為bootstrap-2.properties。跟bootstrap.properties不一樣的只有spring.application.name屬性,內容如下:
spring.application.name=test-provider-config-2 spring.cloud.nacos.config.server-addr=192.168.25.131:8848 spring.cloud.nacos.config.file-extension=yaml因此,Nacos配置也需要加上test-provider-config-2.yaml。內容和test-provider-config.yaml基本一樣,將里面的端口號改成8011就行了。
Idea加上ProviderApplication-2的啟動配置,active profiles=2
把provider、provider-2、consumer全都啟動起來
測試負載均衡
postman繼續訪問上一步feign的測試接口,會看到provider輸出的端口號輪詢變化,因為默認采用的是輪詢負載均衡策略。
總結
以上是生活随笔為你收集整理的5.Spring Cloud Alibaba教程:Nacos整合Feign的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.Spring Cloud Aliba
- 下一篇: 6.Spring Cloud Aliba