微服務feign的使用
阿新 • • 發佈:2021-01-15
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