Spring Cloud 微服務實戰 第六章 宣告式服務呼叫:Spring Cloud Feign
本章介紹的是Spring Cloud Feign ,它是基於Netfix Feign 實現 ,整合了Spring Cloud Ribbon 與 Spring Cloud Hystrix,
除了提供這兩者的強大功能之外,還提供了一種宣告式的web服務客戶端定義方式。
快速入門
第一步:建立一個Spring Boot 基礎工程,取名為feign-consumer,並在pom.xml中引入spring-cloud-starter-eureka 和
spring-cloud-starter-feign依賴。
第二步:建立應用主類ConsumerApplication,並通過@EnableFeignClients 註解來開啟Spring Cloud Feign 的支援功能。
第三步:定義HelloService介面,通過@FeignClient 註解指定服務名來繫結服務,然後再使用Spring MVC 的註解來繫結具體該服務提供的REST 介面。
注意:這裡的服務名不區分大小寫,所以使用hello-service 和 HELLO-SERVICE 都是可以的。在Brixton.SR5版本中,原有的serviceId 屬性已經被廢棄,若要寫屬性名,可以使用name 或 value 。
第四步:建立一個ConsumerController 來實現對Feign 客戶端的呼叫。使用@AutoWired直接注入上面定義的HelloService例項,並在helloConsumer函式中呼叫這個綁定了hello-service 服務介面的客戶端來向服務發起/hello介面的呼叫。
最後,需要在application.properties中指定服務註冊中心,並定義自身的服務名為feign-consumer