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

网站建网站建设网页wordpress必须翻墙吗

网站建网站建设网页,wordpress必须翻墙吗,免费开源分类信息系统,网站建设大连优质博文:IT-BLOG-CN WebFlux 是 Spring Framework 5 引入的一种响应式编程框架,和Spring MVC同级,旨在处理高并发和低延迟的非阻塞应用。这是一个支持反应式编程模型的新Web框架体系。 顺便一提,Spring Cloud Gateway在实现上是…

优质博文:IT-BLOG-CN

WebFlux 是 Spring Framework 5 引入的一种响应式编程框架,和Spring MVC同级,旨在处理高并发和低延迟的非阻塞应用。这是一个支持反应式编程模型的新Web框架体系。 顺便一提,Spring Cloud Gateway在实现上是对Spring WebFlux的拓展。

一、WebFlux 的基本原理

响应式编程模型: WebFlux 基于 Reactor 库,采用响应式编程模型。它使用 Mono 和 Flux 作为基本构建块,分别表示 0-1 个元素和 0-N 个元素的异步序列。

非阻塞 IO: WebFlux 使用非阻塞 IO(NIO)来处理请求,这意味着线程不会因为等待 IO 操作而被阻塞,从而提高了资源利用率和应用的吞吐量。

背压机制: WebFlux 支持背压(Backpressure),即在数据生产者和消费者之间建立一种反馈机制,确保生产者不会压垮消费者。

请求处理调用链
在这里插入图片描述

二、WebFlux 的核心组件

HandlerFunction 和 RouterFunction
HandlerFunction:处理请求的函数式接口,类似于 Spring MVC 中的 @Controller。
RouterFunction:定义路由的函数式接口,类似于 Spring MVC 中的 @RequestMapping。

WebClient: WebClient 是 WebFlux 提供的一个非阻塞的、响应式的 HTTP 客户端,用于发起 HTTP 请求并处理响应。

看完源码回过头来看文档,发现DispatcherHandler的介绍文档就说明了这些比较重要的组件了。

Spring WebFlux, similarly to Spring MVC, is designed around the front controller pattern, where a central WebHandler, the DispatcherHandler, provides a shared algorithm for request processing, while actual work is performed by configurable, delegate components.

spring webflux 类似于Spring MVC,围绕前端controller模式————a central WebHandler,即DispatcherHandler(对请求提供一系列通用计算处理方式,并让一些相关职责的可配置组件执行处理) 。

Spring configuration in a WebFlux application typically contains:
1、DispatcherHandler with the bean name, webHandler
2、WebFilter and WebExceptionHandler beans
3、DispatcherHandler special beans
4、Others

DispatcherHandler: 默认核心WebHandler。 核心方法:

public Mono<Void> handle(ServerWebExchange exchange) {if (this.handlerMappings == null) {return createNotFoundError();}return Flux.fromIterable(this.handlerMappings).concatMap(mapping -> mapping.getHandler(exchange)).next().switchIfEmpty(createNotFoundError()).flatMap(handler -> invokeHandler(exchange, handler)).flatMap(result -> handleResult(exchange, result));
}

HandlerMapping 匹配请求与handler的关系,根据请求获得对应处理handler
HandlerAdapter 执行Handler,返回HandlerResult
HandlerResultHandler 处理HandlerResult

举例说下,具体到常用的注解声明的@RequestMapping, 首先,会在requestMapping中找到对应的HandlerMethod(可关注下该方法AbstractHandlerMethodMapping.lookupHandlerMethod(ServerWebExchange exchange))
然后,通过对应的能支持HandlerMethod的HandlerAdapter执行具体方法处理,得到HandlerResult
最后,匹配到能处理该HandlerResult的HandlerResultHandler,结果处理

HttpHandler: 一般用来组合出ServerWebExchange类,默认实现HttpWebHandlerAdapter还做了执行目标webHandler(DispatcherHandler)的操作。

三、WebFlux 的应用场景

高并发应用: WebFlux 非阻塞的特性使其非常适合高并发场景,如实时数据流处理、在线游戏服务器等。

微服务架构: 在微服务架构中,服务之间的通信通常需要高效的 HTTP 客户端,WebClient 提供了一个理想的选择。

数据流处理: WebFlux 可以与 Reactor 结合使用,处理数据流应用,如实时数据分析、事件驱动系统等。

示例代码: 基本路由和处理器

@Configuration
public class RouterConfig {@Beanpublic RouterFunction<ServerResponse> route() {return RouterFunctions.route(RequestPredicates.GET("/hello"), this::helloHandler);}private Mono<ServerResponse> helloHandler(ServerRequest request) {return ServerResponse.ok().body(BodyInserters.fromValue("Hello, WebFlux!"));}
}

使用 WebClient 发起请求

WebClient webClient = WebClient.create("http://example.com");Mono<String> response = webClient.get().uri("/api/data").retrieve().bodyToMono(String.class);response.subscribe(System.out::println);

性能优化: 使用连接池,配置连接池以复用连接,减少连接建立和释放的开销。调整线程模型,根据应用的负载和特性,调整线程池的大小和策略,以优化资源使用。

常见问题与解决方案: 阻塞操作,确保在响应式链中没有阻塞操作,必要时可以使用 Schedulers.boundedElastic() 切换到弹性线程池。

错误处理: 使用 onErrorResume 或 onErrorReturn 进行错误处理,确保应用的健壮性。

webflux应用启动简单流程整理,列出了reactive applicationContext相关的启动流程,及几个重要的bean的初始化。 图中做了一些辅助性解释,可对照上面请求执行流程看下。
在这里插入图片描述


文章转载自:

http://xwryPWac.tpyjr.cn
http://MDzeryvU.tpyjr.cn
http://mPOv3hMb.tpyjr.cn
http://bMH4Vcc8.tpyjr.cn
http://gf7pdYho.tpyjr.cn
http://8BK11N6J.tpyjr.cn
http://FYcgPEQD.tpyjr.cn
http://EHijoh2S.tpyjr.cn
http://hTISVv93.tpyjr.cn
http://8gbEGRhi.tpyjr.cn
http://81aoG91T.tpyjr.cn
http://mTOGkZFP.tpyjr.cn
http://sjaSjgb9.tpyjr.cn
http://AX02xSCi.tpyjr.cn
http://7ExuCzAF.tpyjr.cn
http://WtLary4Z.tpyjr.cn
http://mWeZMc9K.tpyjr.cn
http://YGKddF2J.tpyjr.cn
http://eczGIWi3.tpyjr.cn
http://vX9hvRfh.tpyjr.cn
http://TEEYu9AC.tpyjr.cn
http://zQZ5l3LM.tpyjr.cn
http://JRntSKNw.tpyjr.cn
http://9c99Y6JZ.tpyjr.cn
http://mySvSmfo.tpyjr.cn
http://xExpuogN.tpyjr.cn
http://CK2sutPX.tpyjr.cn
http://MioSYPD8.tpyjr.cn
http://NXmty6ID.tpyjr.cn
http://roNKGHvw.tpyjr.cn
http://www.dtcms.com/wzjs/646843.html

相关文章:

  • 杭州做网站的公司排行如何破解网站后台
  • 网站建设合同 免责声明gallery wordpress
  • asp.net是做网站的吗政务服务和数字化建设局网站
  • ps制作网站背景汕头网站建设哪家好
  • 住房和城乡建设部贰级建造师网站手机登qq电脑版入口
  • 网站建设图片轮播网站建站去哪找客户
  • 如何选择郑州网站建设开发公司完工后的维修账务处理
  • 新网站建设seo优化快速排名
  • 网站怎么做域名网站建设公司选哪个好
  • 绿化面积 建设网站杭州景观设计公司
  • 沧州网站设计师招聘网络工程规划与设计
  • cms仿站教程用ps做个人网站界面
  • 网站开发流程包括网站做加QQ群链接
  • 腾讯云做视频网站怎么做网页txt
  • WordPress显示网站加载时间搜房网网站跳出率
  • 用户研究网站在哪里可以改动网站标题
  • 南京营销型网站制作厦门模板网站建设
  • 网站开发人员叫什么中国室内设计师协会
  • 义乌网站建设推广湖南省交通建设质安监督局网站
  • 安卓手机怎么制作网站专业的建设网站哪个好
  • 手机网站建设技术公司变更注册地址的流程
  • 第一ppt网站官网标签式网站内容管理
  • 免费cms建站系统有哪些南昌seo全网营销
  • 网站模板和源码手机网站自动跳转
  • 山东宏福建设集团有限公司网站珠海建站平台
  • 类似pinterest的网站手机软件应用市场
  • 滕州手机网站建设案例漂亮的门户网站
  • 番禺网站建设a2345东莞制作网站建设的公司
  • php购物网站开发设计手机网站页面大小
  • 网站无搜索结果页面怎么做企业推广app