1. 程式人生 > 其它 >微服務feign的使用

微服務feign的使用

技術標籤:javajava微服務

feign的使用步驟

在分散式的專案中,使用feign進行各個微服務之間的遠端呼叫,簡化呼叫方式!!

在A服務裡面呼叫B服務和C服務

1:導包OpenFeign,在服務呼叫方導包(A服務)

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2:啟動類新增開啟OpenFeign註解

@SpringBootApplication
@MapperScan("com.ding.user.mapper")
@EnableDiscoveryClient
@EnableFeignClients  //開啟feign的微服務客戶端
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }

    @Bean
    public PaginationInterceptor paginationInterceptor
() { return new PaginationInterceptor(); } }

3:開發B服務使用的API介面,新增包com.ding.user.feign

@FeignClient("leadnews-wemedia") //指定B服務的微服務名稱
public interface WemediaFeign {

    @PostMapping("/wmUser/v1/save") //補全方法的訪問路徑
    ResponseResult<WmUser> save(@RequestBody WmUser wmUser)
; }

4:開發C服務使用的API介面

@FeignClient("leadnews-article") //指定B服務的微服務名稱
public interface ArticleFeign {

    @PostMapping("/author/v1/save") //補全方法的訪問路徑
    ResponseResult<ApAuthor> save(@RequestBody ApAuthor userRealname);
}

注意:如果業務邏輯特別複雜,openfeign進行遠端呼叫的時候,時長超過1秒,就會報錯。

修改openfeign超時時間

feign:
  client:
    config:
      default:
        readTimeout: 60000