成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入ReactiveFeign:反應式遠程接口調用的最佳實踐

開發 前端
Feign-reactive是一個非常有用的框架,可以幫助開發人員輕松地實現響應式微服務,提高應用程序的性能和吞吐量。

環境:SpringBoot2.7.15

1. 簡介

Feign-reactive是一個用于在Spring Cloud應用程序中實現響應式微服務的框架。它支持在Spring Cloud應用程序中實現異步和非阻塞的遠程調用。Feign-reactive的一些主要特點:

  1. 基于Feign的簡潔風格:Feign-reactive繼承了Feign的簡潔風格,使得在編寫基于微服務架構的應用程序時,可以更加方便地實現異步編程。
  2. 支持Reactive編程模型:Feign-reactive提供對Reactive編程模型的支持,使得在編寫異步和非阻塞的代碼時更加容易。
  3. 異步和非阻塞遠程調用:通過Feign-reactive,可以輕松地實現異步和非阻塞的遠程調用,從而提高應用程序的響應速度和吞吐量。
  4. 與Spring Cloud集成:Feign-reactive與Spring Cloud集成,使得可以在Spring Cloud應用程序中方便地使用Feign-reactive實現響應式微服務。
  5. 可擴展性:Feign-reactive具有可擴展性,可以根據需要添加自定義的攔截器、編碼器和解碼器等。

Feign-reactive是一個非常有用的框架,可以幫助開發人員輕松地實現響應式微服務,提高應用程序的性能和吞吐量。

2. 依賴管理

<dependency>
  <groupId>com.playtika.reactivefeign</groupId>
  <artifactId>feign-reactor-spring-configuration</artifactId>
  <version>3.3.0</version>
</dependency>
<dependency>
  <groupId>com.playtika.reactivefeign</groupId>
  <artifactId>feign-reactor-cloud</artifactId>
  <version>3.3.0</version>
</dependency>
<dependency>
  <groupId>com.playtika.reactivefeign</groupId>
  <artifactId>feign-reactor-webclient</artifactId>
  <version>3.3.0</version>
</dependency>

3. 實戰案例

遠程接口

@GetMapping("/demos/info/{id}")
public Object info(@PathVariable("id") Integer id) throws Exception {
  TimeUnit.SECONDS.sleep(3) ;
  Map<String, Object> result = new HashMap<>() ;
  result.put("code", 0) ;
  result.put("data", id) ;
  result.put("message", "success") ;
  return result ;
}

開啟反應式功能

@EnableReactiveFeignClients
public class AppFeignReactorApplication {}

基于反應式的Feign接口定義

@ReactiveFeignClient(
    url = "http://localhost:8088/demos", 
    name = "demoReactorFeign"
)
public interface DemoReactorFeign {
  @GetMapping("/info/{id}")
  public Mono<Object> info(@PathVariable("id") Integer id) ;
}

以上就完成了一個非常簡單的反應式feign接口定義,接下來就可以使用了。其實這里除了注解與openfeign不一樣外,其它都一樣。

測試調用

@Resource
private DemoReactorFeign demoReactorFeign ;


@GetMapping("/{id}")
public Object info(@PathVariable("id") Integer id) {
  return this.demoReactorFeign.info(id) ;
}

調用結果

圖片

接下來會介紹更多關于反應式feign的配置

配置降級

@ReactiveFeignClient(
    url = "http://localhost:8088/demos", 
    name = "demoReactorFeign", 
    fallback = DemoReactorFeignFallback.class,
    configuration = {DemoReactorFeignConfig.class}
)
public interface DemoReactorFeign {

降級接口定義

public class DemoReactorFeignFallback implements DemoReactorFeign {


  @Override
  public Mono<Object> info(Integer id) {
    return Mono.just("請求失敗") ;
  }


}

自定義配置

public class DemoReactorFeignConfig {


  @Bean
  public DemoReactorFeignFallback demoReactorFeignFallback() {
    return new DemoReactorFeignFallback() ;
  }
  
}

當遠程接口調用失敗或超時將會執行上面的fallback。

圖片圖片

超時配置

reactive:
  feign:
    client:
      config:
        demoReactorFeign:
          options:
            connectTimeoutMillis: 2000
            readTimeoutMillis: 2000

負載均衡配置

reactive:
  feign:
    loadbalancer:
      enabled: true

斷路器配置

reactive:
  feign:
    circuit:
      breaker:
       enabled: true

要使其生效,必須引入下面的依賴

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId>
</dependency>


責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2022-08-15 09:00:00

JavaScript前端架構

2021-12-05 23:37:21

Java9異步編程

2023-08-31 16:47:05

反應式編程數據流

2011-08-30 11:19:25

遠程服務器數據中心遷移服務器管理工具

2024-12-02 10:56:29

2022-03-29 07:32:38

R2DBC數據庫反應式

2024-01-31 08:26:44

2016-11-17 13:39:19

數據中心遠程管理自動化網絡

2023-09-21 08:01:27

SpringR2DBC實現數據庫

2021-03-04 11:06:05

自助服務

2015-09-15 16:01:40

混合IT私有云IT架構

2011-08-18 11:05:21

jQuery

2023-07-21 01:12:30

Reactfalse?變量

2023-09-13 08:00:00

JavaScript循環語句

2023-11-29 09:00:55

ReactuseMemo

2024-01-09 07:25:31

2016-12-27 08:49:55

API設計策略

2018-10-24 11:01:53

分布式存儲系統

2011-04-18 09:01:45

CSSHTML

2011-12-27 15:42:13

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 青青草国产在线观看 | 成人欧美一区二区 | 欧美亚洲高清 | 黄色片免费看视频 | 久久久91精品国产一区二区精品 | 久久精品免费 | 羞羞视频在线观看网站 | 国产精品色 | 91资源在线| 亚洲午夜一区二区 | 午夜精品导航 | 欧美视频三区 | 好姑娘高清在线观看电影 | 99在线精品视频 | 日韩中文在线视频 | 欧美一级片中文字幕 | 日操操| 午夜电影网| 国产91丝袜在线熟 | 亚洲精品国产偷自在线观看 | 天堂亚洲网 | 涩爱av一区二区三区 | 欧美一区二区三区在线观看 | 成人高清视频在线观看 | а_天堂中文最新版地址 | 国产欧美在线一区二区 | 欧美在线激情 | 91九色麻豆| 国产精品毛片一区二区三区 | 色网在线看 | 亚洲欧美视频一区二区 | 欧美在线免费 | 国产在线视频三区 | 综合久久综合久久 | 午夜视频免费在线观看 | 亚洲欧美日韩一区二区 | 日本人爽p大片免费看 | 99re在线免费视频 | 精品国产欧美一区二区 | 国产一区视频在线 | 99精品国产一区二区青青牛奶 |