日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

高并發下就該使用非阻塞式方式接口調用提高系統整體性能

來源: 責編: 時間:2023-09-25 10:38:17 415觀看
導讀簡介OpenFeign是Spring Cloud的一部分,它基于Feign實現了聲明式服務調用和負載均衡。以下是OpenFeign的一些主要特性:支持SpringMVC的注解:OpenFeign整合了SpringMVC的注解,例如@RequestMapping,使得用戶可以直接在接口上

簡介

OpenFeign是Spring Cloud的一部分,它基于Feign實現了聲明式服務調用和負載均衡。以下是OpenFeign的一些主要特性:0oV28資訊網——每日最新資訊28at.com

  1. 支持SpringMVC的注解:OpenFeign整合了SpringMVC的注解,例如@RequestMapping,使得用戶可以直接在接口上使用這些注解,而無需編寫接口實現。
  2. 負載均衡:OpenFeign通過動態代理的方式生成實現類,這些實現類中包含了負載均衡的實現,并可以調用其他服務。
  3. 聲明式服務調用:OpenFeign提供了一種聲明式的方式來訪問遠程服務,這使得使用者可以像調用本地方法一樣來調用遠程服務。
  4. 可插拔的注解:OpenFeign提供了可插拔的注解支持,這意味著用戶可以根據自己的需要選擇不同的注解來使用。
  5. 異步通信:OpenFeign支持異步通信,這使得用戶可以更好地利用異步請求帶來的優勢。
  6. 熔斷器:OpenFeign可以與resilience4j集成,支持熔斷器的功能,這可以在服務調用失敗時保護系統,防止故障擴散。
  7. 服務發現:OpenFeign可以與nacos, loadbalancer配合使用,支持服務發現的功能及負載均衡,這使得用戶可以更加方便地管理和調用遠程服務。

總的來說,OpenFeign是一個功能強大的聲明式服務調用和負載均衡工具,它可以提高服務調用的效率和靈活性,并可以幫助用戶更好地管理他們的分布式系統。0oV28資訊網——每日最新資訊28at.com

但是OpenFeign并不支持反應式客戶端,如Spring WebClient,Spring Cloud OpenFeign也不支持。0oV28資訊網——每日最新資訊28at.com

feign-reactor是Spring Cloud的feign的擴展,它提供了對Reactor Netty的支持,可以更好地處理HTTP請求。具體來說,feign-reactor基于Reactor Netty實現,它支持Reactive編程模型,可以更好地處理異步請求,并且可以更好地利用網絡資源。此外,feign-reactor還提供了一些其他的特性,例如:支持負載均衡、支持熔斷器、支持自定義請求和響應等。0oV28資訊網——每日最新資訊28at.com

總的來說,feign-reactor可以提升feign在處理HTTP請求時的效率和靈活性。0oV28資訊網——每日最新資訊28at.com

使用上基本與openfeign一致,就是將相應的注解換了相應的名稱。0oV28資訊網——每日最新資訊28at.com

環境準備

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-webflux</artifactId></dependency><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>

feign-reactor-cloud依賴提供了CircuitBreaker + LoadBalancer的支持。0oV28資訊網——每日最新資訊28at.com

feign-reactor-webclient依賴提供了有關WebClient客戶端相關的實現及配置。0oV28資訊網——每日最新資訊28at.com

feign-reactor-spring-configuration依賴提供了Spring自動配置。0oV28資訊網——每日最新資訊28at.com

開啟反應式客戶端

@SpringBootApplication// 這里與openfeign就是名稱不一樣@EnableReactiveFeignClientspublic class SpringcloudFeignReactorApplication {}

reactor feign接口定義

@ReactiveFeignClient(    // 目標地址    url = "http://localhost:8088/demos",     // 這里沒有走服務發現機制,隨意    name = "demoReactorFeign",     // 回退;當發生異常或超時調用,這里與openfeign一樣都需要實現當前feign接口    fallback = DemoReactorFeignFallback.class,    // 配置    configuration = {DemoReactorFeignConfig.class})public interface DemoReactorFeign {  // 下面這個注解是feign的注解  // @RequestLine("GET /info/{id}")  // feign中@PathVariable => @Param  // 基于SpringMVC的注解  @GetMapping("/info/{id}")  public Mono<Object> info(@PathVariable("id") Integer id) ;  }

回退類定義

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

配置類

// 這里沒有添加@Configuration注解,不需要,不過添加了也可以,只是可能會出現問題public class DemoReactorFeignConfig {  // 配置上面的回退類  @Bean  public DemoReactorFeignFallback demoReactorFeignFallback() {    return new DemoReactorFeignFallback() ;  }  }

以上對feign reactor的使用除了類不一樣外,其它都與openfeign是保持一致的。0oV28資訊網——每日最新資訊28at.com

測試接口

@RestController@RequestMapping("/reactor")public class DemoController {  @Resource  private DemoReactorFeign demoReactorFeign ;    @GetMapping("/{id}")  public Object info(@PathVariable("id") Integer id) {    return this.demoReactorFeign.info(id) ;  }  }

圖片圖片0oV28資訊網——每日最新資訊28at.com

成功調用目標接口0oV28資訊網——每日最新資訊28at.com

超時支持

超時配置,我們只需要提供配置即可0oV28資訊網——每日最新資訊28at.com

reactive:  feign:    client:      config:        default:          options:             connectTimeoutMillis: 1000            readTimeoutMillis: 1000

以上是默認配置,對所有的接口都是一樣的超時時間。0oV28資訊網——每日最新資訊28at.com

由于目標接口模擬了耗時操作,所以調用了回退接口由于目標接口模擬了耗時操作,所以調用了回退接口0oV28資訊網——每日最新資訊28at.com

為具體接口配置超時

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

編程方式

也可以直接通過編程的方式0oV28資訊網——每日最新資訊28at.com

public class ProgramReactorFeignMain {  @Headers({ "Accept: application/json" })  static interface DemoReactorFeign {    @RequestLine("GET /info/{id}")    public Mono<Object> info(@Param("id") Integer id) ;      }    public static void main(String[] args) throws Exception {    DemoReactorFeign target =         WebReactiveFeign                  //  WebClient based reactive feign          //JettyReactiveFeign              //  Jetty http client based        //Java11ReactiveFeign             //  Java 11 http client based        .<DemoReactorFeign>builder()      //  指定方法返回值參數化類型        .target(DemoReactorFeign.class, "http://localhost:8088/demos") ;    target.info(6666).doOnNext(System.out::println).block() ;  }  }

完畢!!!0oV28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-11247-0.html高并發下就該使用非阻塞式方式接口調用提高系統整體性能

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Go 語言史詩級更新-循環Bug修復

下一篇: 分布式微服務架構中的關鍵技術解析

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美午夜精品一区| 欧美国产日韩精品| 亚洲淫性视频| 久久av一区二区三区| 久久一区激情| 欧美日韩国产综合新一区| 国产精品网站在线观看| 韩国精品久久久999| 亚洲欧洲日产国码二区| 亚洲精品社区| 亚洲在线观看视频网站| 久久精品日产第一区二区| 免费成人网www| 国产精品九九| 在线成人h网| 中文国产成人精品| 久久福利一区| 欧美日韩三级一区二区| 国产一区三区三区| 日韩一级在线观看| 久久久xxx| 欧美日韩亚洲三区| 在线播放精品| 亚洲一区二区不卡免费| 麻豆精品在线视频| 国产精品资源| 99re66热这里只有精品3直播 | 午夜欧美精品久久久久久久| 久久久久久久久久码影片| 欧美日本中文| 在线观看日韩专区| 亚洲欧美日韩区| 欧美精品 国产精品| 国产视频一区在线观看一区免费 | 亚洲女性裸体视频| 欧美二区在线| 国产综合网站| 亚洲伊人久久综合| 欧美精品三级| 狠狠色狠狠色综合日日91app| 夜夜爽av福利精品导航| 久久天堂av综合合色| 国产精品草莓在线免费观看| 亚洲电影免费观看高清完整版在线| 亚洲一区二区三区在线观看视频| 男女av一区三区二区色多| 国产日产欧美a一级在线| 一区二区三区免费看| 欧美黄色aa电影| 伊伊综合在线| 久久激情网站| 国产精品无码永久免费888| 99国产精品久久久| 免费不卡视频| 国产综合久久久久久鬼色| 亚洲欧洲99久久| 欧美日本免费| 最新日韩在线视频| 老司机久久99久久精品播放免费 | 国产欧美一区二区三区视频 | 欧美伦理一区二区| 在线欧美日韩国产| 久久精品视频99| 国产日韩欧美综合一区| 亚洲欧美精品在线| 国产精品高潮在线| 一本色道**综合亚洲精品蜜桃冫| 美女性感视频久久久| 国内揄拍国内精品久久| 欧美在线网址| 国产一区二区毛片| 午夜久久影院| 国产伦精品一区| 亚洲欧美日韩国产一区二区三区| 欧美视频福利| 亚洲性感美女99在线| 欧美日韩一区二区在线观看| 夜夜夜精品看看| 欧美三级在线| 亚洲永久字幕| 国产精品区一区二区三区| 亚洲伊人色欲综合网| 国产精品美女久久久免费| 亚洲视频中文| 国产精品社区| 欧美伊人久久久久久久久影院| 国产免费成人在线视频| 性欧美videos另类喷潮| 国产一二精品视频| 久久中文字幕一区二区三区| 伊伊综合在线| 欧美成人午夜免费视在线看片| 亚洲欧洲日产国产综合网| 欧美精品一级| 亚洲天堂成人| 国产日产欧美一区| 久久嫩草精品久久久精品| 亚洲国产成人久久综合一区| 欧美国产一区在线| 99这里只有久久精品视频| 亚洲欧美国产77777| 国产精品你懂的在线欣赏| 欧美一区成人| 伊人久久成人| 欧美精品v日韩精品v韩国精品v| 日韩亚洲视频在线| 国产精品久久久久久久久久尿| 亚洲欧美日韩中文在线制服| 国产在线高清精品| 免费看黄裸体一级大秀欧美| 日韩视频在线永久播放| 国产精品久久久久久超碰| 久久精品99久久香蕉国产色戒 | 亚洲精品视频在线观看网站| 欧美日韩另类在线| 午夜视频在线观看一区二区三区| 黄色工厂这里只有精品| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美午夜精品一区| 性刺激综合网| 在线观看一区欧美| 欧美日韩亚洲一区二区三区在线 | 欧美体内she精视频| 欧美一区二区三区久久精品 | 久久精品国产亚洲a| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩91| 西西裸体人体做爰大胆久久久| 影音先锋成人资源站| 欧美日韩在线播放三区| 久久国产视频网站| 亚洲免费精品| 国产一区二区高清| 欧美人成在线视频| 久久精品国产2020观看福利| 亚洲欧洲另类| 国产欧美日韩亚洲一区二区三区| 蜜臀av在线播放一区二区三区| 亚洲一区影院| 亚洲国产影院| 国产日韩欧美综合一区| 欧美伦理91| 久久久免费观看视频| 国产精品99久久久久久宅男| 一区二区三区在线视频观看| 欧美手机在线| 麻豆freexxxx性91精品| 亚洲欧美经典视频| 亚洲毛片在线免费观看| 国色天香一区二区| 欧美午夜剧场| 欧美第一黄网免费网站| 欧美在线观看一区二区三区| 一本色道久久综合亚洲精品婷婷 | 国产精品丝袜91| 欧美激情久久久久久| 久久精品国产视频| 亚洲午夜影视影院在线观看| 亚洲国产精品成人一区二区 | 亚洲激情在线激情| 国产一区二区日韩精品| 欧美午夜激情视频| 欧美黄色精品| 浪潮色综合久久天堂| 午夜伦理片一区| 一区二区三区国产盗摄| 亚洲国产三级| 娇妻被交换粗又大又硬视频欧美| 国产精品免费小视频| 欧美日韩国产不卡在线看| 麻豆91精品91久久久的内涵| 亚洲欧美视频一区二区三区| 一区二区三区蜜桃网| 欧美日韩三级一区二区| 久久香蕉国产线看观看网| 新67194成人永久网站| 亚洲视频香蕉人妖| 99精品免费网| 亚洲欧洲一级| 亚洲第一网站| 一区二区三区在线视频观看| 国产日韩亚洲欧美| 国产精品入口66mio| 欧美性猛交xxxx免费看久久久| 欧美日本在线观看| 欧美精品九九| 欧美激情综合亚洲一二区| 欧美本精品男人aⅴ天堂| 久久久亚洲高清| 久久精品综合网| 久久精品卡一| 久久久久久久久岛国免费| 久久国产手机看片| 欧美主播一区二区三区| 性欧美xxxx视频在线观看| 亚洲综合国产| 亚洲欧美自拍偷拍| 欧美亚洲日本一区| 性亚洲最疯狂xxxx高清| 午夜精品久久久久| 欧美在线免费视屏| 久久精品123| 久久免费少妇高潮久久精品99| 久久久久www|