一、YC-Framework现阶段能支持哪些Web容器呢?
YC-Framework的微服务核心主要基于SpringBoot与SpringCloud以及SpringCloud Alibaba生态等,SpringBoot本身就支持Tomcat、Jetty、Undertow等Web容器(其中Tomcat是默认的),所以YC-Framework本身也是支持的。
二、在YC-Framewor中如何使用Tomcat、Jetty、Undertow等Web容器?
1.使用Tomcat
(1)引入依赖
1 | <dependency> |
(2)核心配置
1 | # Tomcat |
2.使用Jetty
(1)引入依赖
1 |
|
(2)核心配置
1 | server: |
3.使用Undertow
(1)引入依赖
1 | <dependency> |
(2)核心配置
1 | server: |
启动类是通用的,不需要加一些特别的配置,相关源代码均已上传至Github,小伙伴们可参考!!!
相关示例代码地址:
https://github.com/developers-youcong/yc-framework/tree/main/yc-example/yc-example-container
如果对你有帮助,不妨给个star,鼓励一下!!!
YC-Framework官网:
https://framework.youcongtech.com/
YC-Framework Github源代码:
https://github.com/developers-youcong/yc-framework
YC-Framework Gitee源代码:
https://gitee.com/developers-youcong/yc-framework
三、关于Tomcat、Jetty、Undertow相关的学习资料有哪些?
1.Tomcat
Tomcat官网:
https://tomcat.apache.org/
Tomcat源代码:
https://github.com/apache/tomcat
2.Jetty
Jetty官网:
https://www.eclipse.org/jetty
Jetty源代码:
https://github.com/eclipse/jetty.project
3.Undertow
Undertow官网:
https://undertow.io/
Undertow源代码:
https://github.com/undertow-io/undertow
其中对于Java开发的小伙伴们用的最多的还是Tomcat,无论是早年的JSP,还是之后的SSH、SSM以及SpringBoot相关等。所以建议专门对其中一个Web容器做深入研究学习。在此我推荐几本书:
许令波写的《深入分析JavaWeb技术内幕》,其中推荐阅读Tomcat的系统架构与设计模式这一章:
Budi Kurniawan与Paul Deck写的《深入刨析Tomcat》。
这两本书均有电子版,均可在如下Github地址找到,希望能够对大家有帮助:
https://github.com/developers-youcong/Personal-Learning-Library/tree/master/JavaDev
四、关于Tomcat、Jetty、Undertow等Web容器该如何选择呢?
我个人首推Tomcat,因为它符合我对技术选型所考虑的几个因素,之前我在从单体架构到分布式微服务架构的思考提到过技术选型需要注重的因素:
- 1.业务相关性。
- 2.流行度。
- 3.学习曲线。
- 4.文档。
- 5.社区支持。
- 6.单元测试。
- 7.可扩展性。
- 8.许可证。
网上有很多博文针对Tomcat、Jetty、Undertow做相关的性能对比测试,比较它们在不同的应用场景下的面对高并发或一些特别的使用场景,性能对比是怎样的。
对于我而言就技术基础层面,我求稳为主,在稳的基础上,适当引入一些新的技术促使研发效率的提高,从而提高整体研发团队的生产力。所以,大家不必纠结于该如何选择,标准只有一个能不能解决你当下的问题,除此之外,当你不知道该如何选的时候,可以考虑大众化(哪一个Web容器用的最多,就选择它,因为基本上你不需要踩很多坑,都有人为你踩过了)。