【java之Undertow介绍】

  • Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器
  • Untertow 的特点:
    • 轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心 Jar 包组成,加载一个 Web 应用可以小于 10MB 内存
    • Servlet3.1 支持:它提供了对 Servlet3.1 的支持
    • WebSocket 支持:对 Web Socket 完全支持,用以满足 Web 应用巨大数量的客户端
    • 嵌套性:它不需要容器,只需通过 API 即可快速搭建 Web 服务器
  • 默认情况下 Spring Cloud 使用 Tomcat 作为内嵌 Servlet 容器,可启动一个 Tomcat 的 Spring Boot 程序与一个 Undertow 的 Spring Boot 程序,通过 VisualVM 工具进行比较,可看到 Undertow 性能优于 Tomcat

Undertow是一个用java编写的、灵活的、高性能的Web服务器,提供基于NIO的阻塞和非阻塞API。

Undertow的架构是组合式的,可以通过组合各种小型的目的单一的处理程序来构建Web服务器。所以可以很灵活地的选择完整的Java EE servlet 3.1容器或初级非阻塞程序处理。

Undertow的设计是可以完全可嵌入的,具有简单易用的编译接口。Undertow的生命周期完全由嵌入的应用程序控制。

Undertow是JBoss赞助的一个Web服务器,是Wildfly应用程序服务器中的默认Web服务器。

Undertow的特点:

  • 非常轻量级,Undertow核心瓶子在1Mb以下。它在运行时也是轻量级的,有一个简单的嵌入式服务器使用少于4Mb的堆空间。
  • 支持HTTP升级,允许多个协议通过HTTP端口进行多路复用。
  • 提供对Web套接字的全面支持,包括JSR-356支持。
  • 提供对Servlet 3.1的支持,包括对嵌入式servlet的支持。还可以在同一部署中混合Servlet和本机Undertow非阻塞处理程序。
  • 可以嵌入在应用程序中或独立运行,只需几行代码。
  • 通过将处理程序链接在一起来配置Undertow服务器。它可以对各种功能进行配置,方便灵活。

猜你喜欢

转载自gaojingsong.iteye.com/blog/2431445