0
点赞
收藏
分享

微信扫一扫

boot:Undertow 替代Tomcat jboot


 一个基于 JFinal 的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,目前有超过 1000 家公司在使用 Jboot 做极速开发

http://jboot.io/started/#hello-world  

 

Jboot 来开发一个 java web 的基本技能,包含了

  • MVC
  • ORM
  • AOP
  • 代码生成器
  • 使用缓存提高性能

 

Jboot 真正的核心是做微服务的开发,微服务的底层代码是分布式调用RPC,RPC 的框架和实现的方案非常繁杂,不过 Jboot 已经支持了主流 RPC 的实现,其中包含了 Dubbo 、motan、Zbus等, 未来还会添加 gRPC 等更多的支持。

  • 在 RPC 下,Jboot 支持了 RPC 下的 熔断、降级、监控、Opentracing等等功能
  • 在分布式下,Jboot 支持了分布式缓存、分布式Session、分布式锁、分布式任务、统一配置中心
  • 在数据库下,Jboot 支持分库分表、支持 Reids 等nosql数据库的极简调用
  • 在 MQ 下,Jboot 支持 rabbitmq、redismq、zbus 甚至还支持了 阿里云的商业MQ
  • 另外,Jboot还支持了Swagger、Event事件机制、高并发下的限流方案等等更多的惊喜

 

 

 

 

 

 

 

 

 

 

 

 

Spring Boot使用Tomcat来作为内嵌的Servlet容器。

参照  Spring Boot 性能优化之将Servlet容器变成Undertow

将Web服务器切换到Undertow来提高应用性能。Undertow是一个Java开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非阻塞机制。Undertow是红帽公司的开源产品,是Wildfly默认的Web服务器。

 

<dependency>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-web</artifactId>

       <!-- 从依赖信息里移除 Tomcat配置 -->

       <exclusions> 

            <exclusion>

                    <groupId>org.springframework.boot</groupId>

                    <artifactId>spring-boot-starter-tomcat</artifactId>

            </exclusion>

       </exclusions> 

    </dependency>

 

然后添加Undertow:

    <!-- 添加 Undertow依赖 -->

    <dependency> 

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-undertow</artifactId>

    </dependency>

Spring Boot默认的方式启动应用后, 监控到的内存占用情况:堆内存占用~·M,~~~个线程被开启。

而 Undertow 启动项目,用 监控到的信息显示:堆内存占用·~~M,~~ -1 个线程被开启。占用的内存 明显下降。

举报

相关推荐

0 条评论