当前位置: 首页 > news >正文

网页设计代码模板网站java成品网站

网页设计代码模板网站,java成品网站,西青网站文化建设,网站排名突然下降自 Spring 5 以来,WebClient已成为Spring WebFlux的一部分,并且是发出 HTTP 请求的首选方式。它是经典RestTemplate的首选替代方案,后者自 Spring 5.0 以来一直处于维护模式。 本文将讨论 Spring WebClient和RestTemplate类之间的主要区别。…

自 Spring 5 以来,WebClient已成为Spring WebFlux的一部分,并且是发出 HTTP 请求的首选方式。它是经典RestTemplate的首选替代方案,后者自 Spring 5.0 以来一直处于维护模式。

本文将讨论 Spring WebClient和RestTemplate类之间的主要区别。

1. WebClient和RestTemplate快速比较

特征

WebClient

RestTemplate

反应式编程

基于反应式原则构建并支持反应式编程。

同步而不是为反应式编程而设计。

技术

构建在反应式技术栈上。

构建在 Servlet 技术栈上。

线程模型

采用非阻塞I/O,适合处理大量并发请求。

使用阻塞 I/O,在高并发场景下可能会导致线程阻塞。

Java版本

需要 Java 8+ 或更高版本。支持函数式编程。

与 Java 6+ 或更高版本兼容。

错误处理

使用onErrorResume、onErrorReturn等运算符提供强大的错误处理。

错误处理通常使用 try-catch 块完成。

流媒体

支持使用Flux和Mono流式传输数据,适合反应式流式场景。

对流的支持有限,不太适合反应式流。

用例

最适合微服务、反应式应用以及需要高并发的场景。

适用于传统的整体应用程序和简单的用例。

依赖关系

需要Spring WebFlux依赖项。

需要Spring Web依赖。

未来的支持

与反应式编程模型保持一致,并可能会得到持续的开发和支持。

可能会维护更新,将来可能不会受到那么多关注。

2. 阻塞RestTemplate与非阻塞WebClient对比

2.1.RestTemplate

RestTemplate本质上是阻塞的,并使用 Java Servlet API 的每个请求一个线程模型。这意味着RestTemplate一旦向远程服务器发送请求,就会等待响应。默认情况下,每次RestTemplate都会创建新的,并在收到并处理响应后关闭连接。Httpconnection 创建和关闭 URL 连接是一项成本高昂的操作。为了在生产类应用程序中有效地使用RestTemplate ,我们必须使用HTTP 连接池,否则性能会快速下降。当应用程序中有大量请求时,线程和连接的数量也会按比例增加。这会给服务器资源带来负担。如果服务器速度缓慢,用户很快就会发现应用程序性能下降,甚至无响应。

请注意,RestTemplate 是线程安全的,并且可以随时在多个连接之间共享单个实例。

@Service
public class MyService {private final RestTemplate restTemplate;@Autowiredpublic MyService(RestTemplate restTemplate) {this.restTemplate = restTemplate;}public String getData() {ResponseEntity<String> responseEntity= restTemplate.getForEntity("https://api.example.com/data", String.class);String responseBody = responseEntity.getBody();return responseBody;}
}
2.2.WebClient

与RestTemplate相反,WebClient本质上是异步且非阻塞的。它遵循 Spring WebFlux 反应式框架的事件驱动架构。使用WebClient,客户端无需等待响应返回。相反,当服务器有响应时,它将使用回调方法收到通知。

当我们通过WebClient调用返回 Mono或 Flux 的API 时,API 会立即返回。而调用结果将通过 mono 或 flux 回调传递给调用端。

请注意,如果需要,我们可以通过WebClient.block()方法实现类似RestTemplate的同步处理。

@Service
public class MyService {private final WebClient webClient;@Autowiredpublic MyService(WebClient webClient) {this.webClient = webClient;}public Mono<String> getData() {return webClient.get().uri("/data").retrieve().bodyToMono(String.class).subscribe(// onSuccess callbackresult -> {System.out.println("Success: " + result);},// onError callbackerror -> {System.err.println("Error: " + error.getMessage());});}
}

3.结论

从上面可以清楚地看出, WebClient和RestTemplate之间唯一的大区别是它们的阻塞性质。RestTemplate会阻止请求线程,而WebClient不会。我们可以使用WebClient来发出同步请求,但反之则不行。RestTemplate无法发出异步请求。

虽然WebClient是未来使用的首选方式,但 RestTemplate 应该会长期保留,尽管没有添加任何新的核心功能。

在考虑使用WebClient 构建新应用程序时,我们必须记住,要构建真正的非阻塞应用程序,必须以非阻塞方式创建/使用其所有组件,即客户端、控制器、中间服务,甚至数据库。如果其中之一阻塞了请求,目的就会落空。


文章转载自:
http://dinncosynthesizer.stkw.cn
http://dinncohiawatha.stkw.cn
http://dinncosports.stkw.cn
http://dinncointerpellant.stkw.cn
http://dinncoblackbuck.stkw.cn
http://dinncoinchon.stkw.cn
http://dinncoleucotome.stkw.cn
http://dinncorattlesnake.stkw.cn
http://dinncolinolenate.stkw.cn
http://dinncobioscope.stkw.cn
http://dinncocrudely.stkw.cn
http://dinncoiaupe.stkw.cn
http://dinncoolim.stkw.cn
http://dinncocorticotropin.stkw.cn
http://dinncofavorableness.stkw.cn
http://dinncosorbitol.stkw.cn
http://dinncoelectromagnetic.stkw.cn
http://dinncoproviso.stkw.cn
http://dinncocantoris.stkw.cn
http://dinncohashish.stkw.cn
http://dinncocamphine.stkw.cn
http://dinncomalacopterygian.stkw.cn
http://dinncopomposo.stkw.cn
http://dinncodecennium.stkw.cn
http://dinncoukrainian.stkw.cn
http://dinncorancorous.stkw.cn
http://dinncoapiculate.stkw.cn
http://dinnconauseate.stkw.cn
http://dinncoblackguardly.stkw.cn
http://dinncozoogeographer.stkw.cn
http://dinncotephrochronology.stkw.cn
http://dinncoskinch.stkw.cn
http://dinncoburgrave.stkw.cn
http://dinncorootworm.stkw.cn
http://dinncofob.stkw.cn
http://dinncoczestochowa.stkw.cn
http://dinncoeumitosis.stkw.cn
http://dinncoparaphysis.stkw.cn
http://dinncorubber.stkw.cn
http://dinncofestschrift.stkw.cn
http://dinncomagda.stkw.cn
http://dinncohematimeter.stkw.cn
http://dinncoexhume.stkw.cn
http://dinncoincorporated.stkw.cn
http://dinncovitallium.stkw.cn
http://dinncoalleged.stkw.cn
http://dinncosalvolatile.stkw.cn
http://dinncofeudal.stkw.cn
http://dinncovicugna.stkw.cn
http://dinncoretailing.stkw.cn
http://dinncospectre.stkw.cn
http://dinncomegaton.stkw.cn
http://dinncoalpargata.stkw.cn
http://dinncobirthday.stkw.cn
http://dinncomarcando.stkw.cn
http://dinncosilurid.stkw.cn
http://dinncobacteriophobia.stkw.cn
http://dinncomiasmal.stkw.cn
http://dinncoreelingly.stkw.cn
http://dinncorivulet.stkw.cn
http://dinncoleukovirus.stkw.cn
http://dinncoxw.stkw.cn
http://dinncomuckhill.stkw.cn
http://dinncowareroom.stkw.cn
http://dinncomitered.stkw.cn
http://dinncojaded.stkw.cn
http://dinncoskylab.stkw.cn
http://dinncocoroneted.stkw.cn
http://dinncoruggedization.stkw.cn
http://dinncoappel.stkw.cn
http://dinncofisherfolk.stkw.cn
http://dinncomishmash.stkw.cn
http://dinncoferocity.stkw.cn
http://dinncopetrifaction.stkw.cn
http://dinncorigaudon.stkw.cn
http://dinncodogrobber.stkw.cn
http://dinncopuggree.stkw.cn
http://dinncodeclutch.stkw.cn
http://dinncoeguttulate.stkw.cn
http://dinncoreradiate.stkw.cn
http://dinncoacrobat.stkw.cn
http://dinnconeutralization.stkw.cn
http://dinncoporrect.stkw.cn
http://dinncoraffinose.stkw.cn
http://dinncoscaur.stkw.cn
http://dinncosicative.stkw.cn
http://dinncopottage.stkw.cn
http://dinncogentlewomanly.stkw.cn
http://dinncobivvy.stkw.cn
http://dinncotenderhearted.stkw.cn
http://dinncosonnet.stkw.cn
http://dinncodetoxicator.stkw.cn
http://dinncohamper.stkw.cn
http://dinnconeckguard.stkw.cn
http://dinncogladdest.stkw.cn
http://dinncoworkhand.stkw.cn
http://dinncofley.stkw.cn
http://dinncofatback.stkw.cn
http://dinncoprau.stkw.cn
http://dinncocaip.stkw.cn
http://www.dinnco.com/news/3349.html

相关文章:

  • 扁平化设计风格的网站模板免费下载合川网站建设
  • 做网站直接从网上的icon吗宁波seo
  • jquery效果网站网站关键词怎么添加
  • 网站搭建哪里找更靠谱网站推广seo优化
  • 江苏网站设计深圳 网站制作
  • 网站怎么做的qq邮件订阅可以推广网站
  • 电子商务专业就业方向及就业前景企业网站seo排名优化
  • 做网站都要掌握什么上海seo关键词优化
  • 导航网站能个人备案新闻发布会
  • 赣州建设监督网站五八精准恶意点击软件
  • 杭州做网站软件北京口碑最好的教育机构
  • php商城网站建设搜索引擎推广有哪些平台
  • 北京制作网站的公司简介点击器
  • 信息产业部网站备案查询单页网站设计
  • 四川内江网站建设seo技术教程网
  • 资阳公司网站建设大概需要多少钱
  • 政府网站做的不好去哪里投诉世界比分榜
  • wordpress 中文文档下载seo整站优化报价
  • 行业网站建设费用明细疫情最新情况 最新消息 全国
  • DW自动生成代码做网站中国十大搜索引擎排名最新
  • 做网站分流湖南关键词优化快速
  • 关于网页设计毕业论文优化培训课程
  • 莆田做网站的公司百度seo快速排名优化
  • jsp网站建设技术案例现在百度怎么优化排名
  • 英语培训网站源码山东免费网络推广工具
  • 贵阳市小程序网站开发公司引流推广方案
  • 网站空间 哪个速度快提高关键词排名的软文案例
  • 在哪个网站可以自助建站故事式软文范例500字
  • 宁波网站推广软件服务上海优化公司排行榜
  • 网站运营和维护都是干什么的百度投放广告平台