基于Nginx的衍生版服务器Tengine简介
Tengine的起源与发展
Tengine是由淘宝网发起的Web服务器项目,旨在满足大访问量网站的需求,自2011年12月起,Tengine成为一个开源项目,由淘宝、蚂蚁、阿里云和搜狗等互联网企业的核心成员共同开发和维护,Tengine在Nginx的基础上进行了大量的优化和功能扩展,使其在性能和稳定性方面得到了显著提升,目前,Tengine已经在淘宝网、天猫、优酷、全球速卖通、Lazada和阿里云等多个大型网站上得到了广泛应用和验证。
Tengine的主要特性
特性 | 描述 |
继承Nginx特性 | Tengine继承了Nginx1.24.0的所有特性,并兼容Nginx的配置。 |
动态无损生效 | 支持域名、证书和路由的动态无损生效。 |
HTTP/3支持 | 支持HTTP/3 (QUIC v1和draft29)。 |
高性能UDP转发 | 支持bypass内核的用户态高性能UDP转发。 |
高级路由 | 支持基于header、cookie、query和服务权重的高级路由动态无损生效。 |
请求和响应流量染色 | 支持基于高级路由的请求和响应流量染色动态无损生效。 |
分域名TLS多版本 | 支持配置分域名TLS多版本、timeout、强制HTTPS、CORS和robots的动态无损生效。 |
CONNECT方法 | 支持HTTP的CONNECT方法,可用于正向代理场景。 |
异步OpenSSL | 支持异步OpenSSL,可使用硬件如QAT进行HTTPS的加速与卸载。 |
运维监控能力 | 增强相关运维监控能力,如异步打印日志及回滚、本地DNS缓存、内存监控等。 |
负载均衡 | 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查。 |
Lua脚本支持 | 动态脚本语言Lua支持,扩展功能非常高效简单。 |
状态收集 | 支持按指定关键字(域名,url等)收集Tengine运行状态。 |
文件请求优化 | 组合多个CSS、JavaScript文件的访问请求变成一个请求,自动去除空白字符和注释从而减小页面的体积。 |
进程优化 | 自动根据CPU数目设置进程个数和绑定CPU亲缘性。 |
系统保护 | 监控系统的负载和资源占用从而对系统进行保护。 |
友好出错信息 | 显示对运维人员更友好的出错信息,便于定位出错机器。 |
防攻击模块 | 更强大的防攻击(访问速度限制)模块。 |
命令行参数 | 更方便的命令行参数,如列出编译的模块列表、支持的指令等。 |
过期时间设置 | 可以根据访问文件类型设置过期时间。 |
Tengine的应用场景
Tengine适用于各种高并发、大流量的Web服务场景,包括但不限于电子商务网站、视频网站、社交媒体平台和云服务平台,其强大的负载均衡能力和高效的缓存技术,使得Tengine能够处理大量的用户请求,同时保证系统的稳定性和安全性,Tengine还支持OpenResty框架,提供了Lua脚本语言的支持,使得开发者可以通过编写Lua脚本来扩展其功能和处理业务逻辑。
Tengine的未来展望
随着互联网技术的不断发展,Tengine将继续演进和发展,向通用API网关方向持续演进,Tengine将逐步支持4/7层TLS、TCP、UDP和GRPC多协议路由能力,适配不同终端和不同应用,打造全场景通用网关,持续保持其在业界的领先地位。
FAQs
1、问题:Tengine与Nginx有什么区别?
回答: Tengine是在Nginx的基础上发展而来的,针对大访问量网站的需求添加了很多高级功能和特性,Tengine不仅继承了Nginx的所有特性,还增加了许多新的特性,如HTTP/3支持、高级路由、负载均衡优化、异步OpenSSL等,以满足更高的性能和稳定性需求。
2、问题:如何参与Tengine的开发和贡献?
回答: Tengine是一个开源项目,欢迎社区成员参与其中,你可以通过提交代码、报告Bug、提供文档或参与讨论等方式来贡献自己的力量,具体的参与方式可以在Tengine的GitHub仓库或官方网站上找到相关信息。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1099643.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复