Tengine 2.3.0 发布,阿里巴巴开源的轻量级 Web 服务器「建议收藏」

Tengine 2.3.0 发布,阿里巴巴开源的轻量级 Web 服务器「建议收藏」Tengine 2.3.0 发布,阿里巴巴开源的轻量级 Web 服务器

大家好,又见面了,我是你们的朋友全栈君。

轻量级开源 Web 服务器 Tengine 于近日发布了 2.3.0 版本,新增如下特性:

  1. ngx_http_proxy_connect_module,该模块让 Tengine 可以用于正向代理场景,支持对 CONNECT 方法请求的处理;
  2. HTTP2 Server 粒度控制新增 HTTP2 指令,可针对 listen 相同端口的 server 进行个性化开启与关闭 HTTP2;
  3. Stream 模块支持 server_name 指令,可在 SSL 场景下,基于 SNI 识别出域名,让四层 SSL 转发支持特定的 server 块配置;
  4. 加强 limit_req 模块功能,可以基于请求粒度动态设置限速大小,更多详细变更日志请点此参考

需要注意的是,本次 Tengine 升级 core 代码至 Nginx 官方的 1.15.9 版本(2019年2月26日发布),由于 Tengine 的部分功能 Nginx 官方已经实现,所以 Tengine 2.3.0 弃用了自身实现的部分配置指令,由此带来的不兼容性,列举如下:

  1. 废弃 Tengine 自身实现的 reuse_port 指令,使用 Nginx 官方的 reuseport
    升级方法:将 events 配置块里面的 reuse_port on|off 注释掉,在对应的监听端口后面加 reuseport 参数,详细的操作文档,请点此参考
  2. 废弃 Tengine 的 dso_tool 工具以及 dso 配置指令
    若之前有使用 Tengine 的 dso 功能,则可以切换到 Nginx官方 的 load_module 指令,详细操作文档,请参考链接1链接2
  3. 移除 Tengine 加强版 slice 模块到 modules,默认使用 Nginx 官方的 slice 功能
    如果依然需要使用 Tengine 的 slice,那么编译 slice 时请使用 –add-module=modules/ngx_http_slice_module,否则使用 –with-http_slice_module 编译参数;
  4. Tengine 自身实现的模块,已全部剥离到 modules 目录下
    如果需要使用那个模块,请使用 –add-module=modules/<module_name> 的方式进行编译。
  5. limit_req 的请求计数逻辑和官方保持一致,去除 limit_req_zone 中任何一个变量值为空,跳过请求计数的逻辑

Tengine 是基于 Nginx 开发的轻量级开源 Web 服务器,作为阿里巴巴七层流量入口的核心系统,支撑着阿里巴巴双11等大促活动的平稳度过,并提供了智能的流量转发策略、HTTPS 加速、安全防攻击、链路追踪等众多高级特性,同时秉着软硬件结合的的性能优化思路,在高性能、高并发方面取得了重大突破。

目前,Tengine 正通过 Ingress Controller 和 K8s 打通,这让 Tengine 具备了动态感知某个服务整个生命周期的能力。未来,Tengine 将定期开源内部通用组件功能模块,并同步 Nginx 官方的最新代码,丰富开发者们的开源 Web 服务器选项。

来源:阿里巴巴中间件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106889.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月21日 下午10:00
下一篇 2022年4月21日 下午10:20


相关推荐

  • phpstorm mac激活码2021详解【2021.7最新】

    (phpstorm mac激活码2021详解)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlML…

    2022年3月21日
    108
  • Android Studio开发环境搭建

    Android Studio开发环境搭建目前关于 AS AndroidStudi 的环境搭建网上已经有很多教程了 但是实际操作起来还是会有各种意想不到的问题 对于大多数开发者来说可能还是会有困难 本教程根据笔者亲身实践 将搭建过程中的各种问题总结出来 方便大家参考 开发环境 Thinkpad 笔记本 Win10x64 操作系统 JDK8 安装 JDK 下载与安装 JAVA8 官方下载 https www oracle com t

    2026年3月16日
    1
  • 联合索引(多列索引)[通俗易懂]

    联合索引(多列索引)[通俗易懂]联合索引是指对表上的多个列进行索引,联合索引也是一棵B+树,不同的是联合索引的键值数量不是1,而是大于等于2.最左匹配原则假定上图联合索引的为(a,b)。联合索引也是一棵B+树,不同的是B+树在对索引a排序的基础上,对索引b排序。所以数据按照(1,1),(1,2)……顺序排放。对于selete*fromtablewherea=XXandb=XX,显然是可以使用…

    2022年6月3日
    78
  • 为何选择iText?java PDF开源库选择与iText发展历史

    为何选择iText?java PDF开源库选择与iText发展历史&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;转眼间,我写iText7系列已经有一年多了,还记得最开始的时候是因为兴趣才翻译iText,不过随着慢慢翻译文章才发现iText的强大之处,最近也是调研了整个javaPDF开源库的生态圈,我给大家详细讲一下javaPDF开源库的选择还有我选择iText的理由。1.源起PDF1.1PDF定义&amp;nbsp;&amp;nbsp;&amp;nbsp;

    2025年5月23日
    4
  • js实现模糊查询

    js实现模糊查询1、简述实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现。后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询。前端直接使用字符串的indexOf()方法或者正则表达式匹配实现,相比后端实现这种方法的用户体验更友好。2、demo当输入框中输入内容或者点击查询按钮时,根据输入框中的关键字,模糊查询下面表格的内容,并重新渲染表格。代码如下。(1)…

    2022年5月30日
    34
  • mybatis判断list是否为空

    mybatis判断list是否为空前言 iftest list nullandlist size 0 gt ands orderstatusi foreachcolle list item item open close separator item foreachcolle list item item open close separator iftest list nullandlist size

    2025年12月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号