|
|
51CTO旗下网站
|
|
移步端
  • 为什么很多SpringBoot开发者放弃了Tomcat,慎选了Undertow

    SpingBoot 官方我们既可以运用 Tomcat 表现 Http 劳务,也得以用 Undertow 来代替。Undertow 在高并发业务场景中,性能优于 Tomcat。故此,如果我们的体系是高并发请求,不妨使用一下 Undertow,你会发现你的特殊性能会得到很大的升级。

    笔者:阿迈达 来源:java沉凝导图| 2020-02-13 17:49

    前言

    在 SpringBoot 框架中,咱们采用最多的是 Tomcat,这是 SpringBoot 默认的容器技术,而且是内嵌式的 Tomcat。

    同时,SpringBoot 也支持 Undertow 容器,咱们可以很红火的用 Undertow 替换 Tomcat,而 Undertow 的性质和内存使用方面都优于 Tomcat,那我们如何使用 Undertow 艺术呢?本文将为大家细细讲解。

    SpringBoot 中的 Tomcat 容器

    SpringBoot 可以说是现阶段最火的 Java Web 框架了。他将开发者从繁重的 xml 抢救了出去,让开发者在几分钟内就足以创造一个完整的 Web 劳务,大幅度的增长了开发者的上班效率。Web 容器技术是 Web 品种必不可少的有些,因为任 Web 品种都要借助容器技术来运转起来。

    在 SpringBoot 框架中,咱们采用最多的是 Tomcat,这是 SpringBoot 默认的容器技术,而且是内嵌式的 Tomcat。

    SpringBoot 安装 Undertow

    对于 Tomcat 艺术,Java 程序员应该都特别熟悉,他是 Web 使用最常用的容器技术。咱们最早的支出的品种基本都是安排在 Tomcat 从运作,那除了 Tomcat 容器,SpringBoot 官方我们还可以运用什么容器技术呢?

    正确,就是题目中的 Undertow 容器技术。SrpingBoot 已经完全继承了 Undertow 艺术,咱们只要求引入 Undertow 的依赖即可,如下图所示。

    安排好后,咱们启动应用程序,意识容器已经替换为 Undertow。

    那我们为什么需要替换 Tomcat 为 Undertow 艺术呢?

    Tomcat 与 Undertow 的高低对比

    Tomcat 是 Apache 基金下之一个轻量级的 Servlet 容器,支持 Servlet 和 JSP。Tomcat 具有 Web 传感器特有的效应,包括 Tomcat 管理和掌握平台、安全局管理和 Tomcat 阀等。Tomcat 自己包含了 HTTP 传感器,故此也得以视作单独的 Web 传感器。

    但是,Tomcat 和 ApacheHTTP 传感器不是一番东西,ApacheHTTP 传感器是用 C 语言实现的 HTTP Web 传感器。Tomcat 是完整免费的,深受开发者的爱护。(2020年最新的常问企业面试题大全以及答案)

    Undertow 是 Red Hat 商店的正本求源产品, 他整体采用 Java 语言开发,是一款灵活的高性能 Web 传感器,支持阻塞 IO 和非阻塞 IO。出于 Undertow 利用 Java 语言开发,可以直接嵌入到 Java 品种中采用。同时, Undertow 总体支持 Servlet 和 Web Socket,在高并发情况下表现突出良好。

    咱们在相同机器配置下压测 Tomcat 和 Undertow,得到的统考结果如下所示:

    QPS 高考结果对比:

    Tomcat

    Undertow

    内存使用对比:

    Tomcat

    Undertow

    穿过测试发现,在高并发系统中,Tomcat 相对来说比较弱。在相同的机械配置下,宪章相等的呼吁数,Undertow 在性能和内存使用方面都是最优的。并且 Undertow 新版本默认使用持久连接,这将会进一步增进它的并发吞吐能力。故此,如果是高并发的工作系统,Undertow 是最佳选择。

    说到底

    SpingBoot 官方我们既可以运用 Tomcat 表现 Http 劳务,也得以用 Undertow 来代替。Undertow 在高并发业务场景中,性能优于 Tomcat。故此,如果我们的体系是高并发请求,不妨使用一下 Undertow,你会发现你的特殊性能会得到很大的升级。

    【编纂推荐】

    1. Springboot优雅停止服务的几种办法
    2. 为什么我们要放弃迁移到微服务?
    3. C还是Rust:慎选哪个用于硬件抽象编程
    4. 细数 SpringBoot 中的连接池
    5. SpringBoot+Redis分布式锁:宪章抢单
    【义务编辑: 武晓燕 TEL:(010)68476606】

    点赞 0
  • SpringBoot  放弃  慎选
  • 分享:
    大家都在看
    猜你喜欢
  • 订阅专栏+更多

    Kubernetes:21远处完美通关

    Kubernetes:21远处完美通关

    从小白到修神
    共29章 | king584911644

    190人口订阅学习

    Python使用场景实战手册

    Python使用场景实战手册

    Python使用场景实战手册
    共3章 | KaliArch

    122人口订阅学习

    一步到位玩儿透Ansible

    一步到位玩儿透Ansible

    Ansible
    共17章 | 骏马金龙1

    209人口订阅学习

    订阅51CTO邮刊

    点击这里查看样刊

    订阅51CTO邮刊

    51CTO劳务号

    51CTO官微


    <input id="e427779a"></input>