SpringCloud的Feign接口正確開發姿勢

微服務中,直接在各模塊之間暴露的接口上標註@FeignClient是不合規範的。

像這樣。該是不被允許的

正確使用姿勢是,各模塊暴露的接口應該是純粹的

public interface RpcService {
    @GetMapping("hello")
    String hello();
}

而我們在使用的時候要搞一個接口去繼承這個接口,在子接口上標註@FeignClient。像這樣

@FeignClient("cctv1")
public interface RpcFeignService extends RpcService {
}

且在調用的時候注入這個子接口

這樣在做熔斷和降級的時候會規避掉一些問題。而且,重要的是,當我們引用了別的微服務的api模塊時,因爲我們並不需要所有的接口,如果他的接口都加了@FeignClient的話,我們的項目就會創建很多無用的代理對象。

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