欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud分布式項目下feign的使用示例詳解

 更新時間:2023年07月25日 11:46:12   作者:零維展開智子  
這篇文章主要介紹了SpringCloud分布式項目下feign的使用,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

新建一個feign的微服務(后面統(tǒng)稱為A),其他項目要使用利用maven導入該服務模塊的依賴就行了

導入依賴

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

定義接口

@FeignClient(value = "leadnews-article")
public interface IArticleClient {
    @PostMapping("/api/v1/article/save")
    public ResponseResult saveArticle(@RequestBody ArticleDto dto) ;
}

另外一個微服務(value的值對應)的接口實現(xiàn)(后面統(tǒng)稱為B),哪個微服務去實現(xiàn)這個接口,value就是什么

@RestController
public class ArticleClient implements IArticleClient {
    @Autowired
    private ApArticleService apArticleService;
    @Override
    @PostMapping("/api/v1/article/save")
    public ResponseResult saveArticle(@RequestBody ArticleDto dto) {
        return apArticleService.saveArticle(dto);
    }
}

接著在B項目中寫mapper、service層的實現(xiàn)即可

C項目要訪問B項目的接口這個時候直接訪問A項目的接口就行了

A項目只是一個橋梁,C項目中利用

使用時自動注入即可,但是記得要導入A項目的依賴

@Autowired
    private IArticleClient articleClient;

主啟動類還需要添加注解 

服務降級處理

  • 服務降級是服務自我保護的一種方式,或者保護下游服務的一種方式,用于確保服務不會受請求突增影響變得不可用,確保服務不會崩潰
  • 服務降級雖然會導致請求失敗,但是不會導致阻塞。

feign-api編寫降級邏輯

 
/**
 * feign失敗配置
 * @author itheima
 */
@Component
public class IArticleClientFallback implements IArticleClient {
    @Override
    public ResponseResult saveArticle(ArticleDto dto)  {
        return ResponseResult.errorResult(AppHttpCodeEnum.SERVER_ERROR,"獲取數(shù)據(jù)失敗");
    }
}

 在C微服務中添加類,掃描降級代碼類的包

這里包路徑是你的

@Configuration
@ComponentScan("com.heima.apis.article.fallback")
public class InitConfig {
}

在之前A服務的接口上添加這個 

C服務開啟降級

nacos配置中心里添加如下內容,開啟服務降級,也可以指定服務響應的超時的時間

feign:
  # 開啟feign對hystrix熔斷降級的支持
  hystrix:
    enabled: true
  # 修改調用超時時間
  client:
    config:
      default:
        connectTimeout: 2000
        readTimeout: 2000

到此這篇關于SpringCloud分布式項目下feign的使用的文章就介紹到這了,更多相關SpringCloud feign使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatis如何獲取最新插入數(shù)據(jù)的id

    Mybatis如何獲取最新插入數(shù)據(jù)的id

    這篇文章主要介紹了Mybatis如何獲取最新插入數(shù)據(jù)的id,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring和SpringBoot之間的區(qū)別

    Spring和SpringBoot之間的區(qū)別

    這篇文章主要介紹了Spring和SpringBoot之間的區(qū)別,幫助大家更好的理解和學習使用這兩種框架,感興趣的朋友可以了解下
    2021-04-04
  • 關于MybatisPlus配置雙數(shù)據(jù)庫驅動連接數(shù)據(jù)庫問題

    關于MybatisPlus配置雙數(shù)據(jù)庫驅動連接數(shù)據(jù)庫問題

    這篇文章主要介紹了MybatisPlus配置雙數(shù)據(jù)庫驅動連接數(shù)據(jù)庫的具體實現(xiàn),具體的業(yè)務邏輯,在service層的類或者方法上面添加@DataSource注解來指定該業(yè)務需要用到的數(shù)據(jù)源,需要的朋友可以參考下
    2022-01-01
  • spring?retry實現(xiàn)方法請求重試的使用步驟

    spring?retry實現(xiàn)方法請求重試的使用步驟

    這篇文章主要介紹了spring?retry實現(xiàn)方法請求重試及使用步驟,本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Struts2訪問Servlet的三種方式

    Struts2訪問Servlet的三種方式

    這篇文章主要介紹了Struts2訪問Servlet的三種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 使用spring的websocket創(chuàng)建通信服務的示例代碼

    使用spring的websocket創(chuàng)建通信服務的示例代碼

    這篇文章主要介紹了使用spring的websocket創(chuàng)建通信服務的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 超全面的SpringBoot面試題含答案

    超全面的SpringBoot面試題含答案

    這篇文章主要收錄了44道面試中經(jīng)常被問的SpringBoot問題,不管你是正在求職的新手還是已經(jīng)工作很久的高手,這篇關于SpringBoot的面試題總結一定會讓你有新的理解,讓我們一起來看看吧
    2023-03-03
  • Java由淺入深通關抽象類與接口上

    Java由淺入深通關抽象類與接口上

    在類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類稱為抽象類,接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java抽象類和接口,感興趣的朋友一起看看吧
    2022-04-04
  • Springboot整合Java?DL4J實現(xiàn)交通標志識別系統(tǒng)全過程

    Springboot整合Java?DL4J實現(xiàn)交通標志識別系統(tǒng)全過程

    在自動駕駛系統(tǒng)中,交通標志識別是實現(xiàn)車輛智能化的關鍵技術之一,本文介紹了利用SpringBoot和JavaDeeplearning4j構建交通標志識別系統(tǒng)的方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • 分析設計模式之模板方法Java實現(xiàn)

    分析設計模式之模板方法Java實現(xiàn)

    所謂模板方法模式,就是一個對模板的應用,就好比老師出試卷,每個人的試卷都是一樣的,這個原版試卷就是一個模板,可每個人寫在試卷上的答案都是不一樣的,這就是模板方法模式。它的主要用途在于將不變的行為從子類搬到超類,去除了子類中的重復代碼
    2021-06-06

最新評論