smart-servlet v0.1.0 首发,筹备了 3 年的开源 Servlet 服务器

栏目: 软件资讯 · 发布时间: 4年前

内容简介:smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。尽管开源时长仅 1 个月,还有着诸多不成熟,但希望未来能成为如同 Tomcat、Undertow 般优秀的项目。为了这个目标,smart-ser...

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。尽管开源时长仅 1 个月,还有着诸多不成熟,但希望未来能成为如同 Tomcat、Undertow 般优秀的项目。为了这个目标,smart-servlet 准备了三年:

  • 3年前,开源 AIO 通信框架 smart-socket。为从事通信开发的朋友提供了除 netty、mina 之外的另一个选择,同时也为 smart-servlet 开发迈出了第一步。
  • 2年前,开源 http 服务器 smart-http。不仅支持了 http 1.0/1.1、websocket 协议,还在 TFB 评测中表现优异。
  • 1个月前,开源 smart-servlet。在 smart-http 的基础上实现 servlet 3.1 规范。

项目特色

  • 零学习成本,素未谋面,却已相知。保留用户原有的 Tomcat、Undertow 使用习惯。
  • 朴实无华,用最初级的设计手法打造专业级服务器。
  • 实现 Servlet 核心规范:Request、Response、Session、Cookie、Dispatcher、ServletContext。
  • 插件化设计,自由 DIY 服务器。
  • 延续一贯的极简、易用、高性能设计风格。
  • 开箱即用,运行程序包、maven本地开发/调试插件、springboot starter 一应俱全,满足你的开发、部署等各项需求。

架构设计

smart-servlet 在 smart-http 的基础之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将普通的 http 应用改造成 servlet 应用,而且这个成本是极低的。

smart-servlet v0.1.0 首发,筹备了 3 年的开源 Servlet 服务器

示例演示

为了验证 smart-servlet 对 servlet 3.1 实现的规范性,我们的演示示例直接移植了 Tomcat 安装包中自带的工程:docs、examples。其中examples 工程依赖需要依赖 tomcat 自身的一些 jar 包,故我们将 ${TOMCAT_HOME}/lib 目录下的 jar 包拷贝到了 examples/WEB-INF/lib 目录下。

smart-servlet v0.1.0 首发,筹备了 3 年的开源 Servlet 服务器

接下来对工程进行编译并运行 org.smartboot.servlet.starter.Bootstrap ,若控制台打印如下信息说明启动成功。打开浏览器访问:http://127.0.0.1:8080/examples 便可体验 smart-servlet 。

smart-servlet v0.1.0 首发,筹备了 3 年的开源 Servlet 服务器

非正式评测

对于这款 servlet 容器,用户可能更关心它相较于 tomcat 的优势,为此我们做了一次简单的评测。特别说明:这次评测并不正规,一方面 smart-servlet 既当裁判又当选手本就不公平;另一方面现阶段 smart-servlet 还不够成熟,不具备比较的条件。所以这里提供的非正式评测结果权当 smart-servlet 的一种宣传方式。

我们采用的测试方式为:

用 ab 压测 examples 工程中的示例请求:http://127.0.0.1:8080/examples/servlets/servlet/HelloWorldExample,最终的表现结果如下:

  • smart-servlet 性能表现结果比 tomcat 高出 50%~100 以上 。
  • tomcat 压测期间 CPU 使用率高于 40%,smart-servlet 压测时低于 40% 。
  • tomcat 线程数随并发数递增,上限 200;smart-servlet 线程数固定,不受并发数影响 。
  • 内存开销两者基本持平。

详细过程见:https://smartboot.gitee.io/book/smart-servlet/performance/test-data.html

最后

后面我们会保持稳定的开发节奏,持续打磨 servlet 规范的实现细节,争取早日让 smart-servlet 运行到生产环境中。同时非常欢迎社区中的朋友反馈改进建议,或者参与到这个项目的开发中来,一起见证它的成长。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据挖掘导论

数据挖掘导论

Pang-Ning Tan, Michael Steinbach / 范明 范宏建 / 人民邮电出版社 / 2006-01-01 / 49.00元

本书全面介绍了数据挖掘的理论和方法,旨在为读者提供将数据挖掘应用于实际问题所必需的知识。本书涵盖五个主题:数据、分类、关联分析、聚类和异常检测。除异常检测外,每个主题都包含两章:前面一章讲述基本概念、代表性算法和评估技术,后面一章较深入地讨论高级概念和算法。目的是使读者在透彻地理解数据挖掘基础的同时,还能了解更多重要的高级主题。此外,书中还提供了大量示例、图表和习题。 本书适合作为......一起来看看 《数据挖掘导论》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具