在构建响应式 Web 服务上,Spring 5 中引入了全新的编程框架,那就是 Spring WebFlux。作为一款新型的 Web 服务开发框架,它与传统的 WebMVC 相比具体有哪些优势呢?
WebFlux 用于构建响应式 Web 服务。在详细介绍 WebFlux 之前,我们先梳理一下这个新框架的应用场景,了解应用场景才能帮助我们对所要采用的技术体系做出正确的选择。
微服务架构的兴起为 WebFlux 的应用提供了一个很好的场景。我们知道在一个微服务系统中,存在数十乃至数百个独立的微服务,它们相互通信以完成复杂的业务流程。这个过程势必会涉及大量的 I/O 操作,尤其是阻塞式 I/O 操作会整体增加系统的延迟并降低吞吐量。如果能够在复杂的流程中集成非阻塞、异步通信机制,我们就可以高效处理跨服务之间的网络请求。针对这种场景,WebFlux 是一种非常有效的解决方案。
2022年了,微服务、云原生、分库分表要了解一下吗?
从 WebMVC 到 WebFlux
接下来,我们将讨论 WebMVC 与 WebFlux 之间的差别,而这些差别实际上正是体现在从 WebMVC 到 WebFlux 的演进过程中。让我们先从传统的 Spring WebMVC 技术栈开始说起。
Spring WebMVC技术栈
一般而言,Web 请求处理机制都会使用“管道-过滤器(Pipe-Filter)”架构模式,而 Spring WebMVC 作为一种处理 Web 请求的典型实现方案,同样使用了 Servlet 中的过滤器链(FilterChain)来对请求进行拦截,如下图所示。
我们知道 WebMVC 运行在 Servlet 容器上,这些容器常用的包括 Tomcat、JBoss 等。当 HTTP 请求通过 Servlet 容器时就会被转换为一个 ServletRequest 对象,而最终返回一个 ServletResponse 对象,FilterChain 的定义如下所示。
到此这篇webflux和webmvc区别(webmvc webflux)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/52962.html