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 服务器选项。

来源:阿里巴巴中间件

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ERROR [com.alibaba.druid.pool.DruidDataSource] – init datasource error url: jdbc:mysql://xxx 解决方法

    ERROR [com.alibaba.druid.pool.DruidDataSource] – init datasource error url: jdbc:mysql://xxx 解决方法拿了一个旧项目,运行一下。控制台报错,具体错误信息如下:2018-04-0316:39:23,391ERROR[com.alibaba.druid.pool.DruidDataSource]-initdatasourceerror,url:jdbc:mysql://192.168.1.143:3306/public_platform?useUnicode=true&amp…

  • 横向越权与纵向越权[通俗易懂]

    横向越权与纵向越权[通俗易懂]横向越权:横向越权指的是攻击者尝试访问与他拥有相同权限的用户的资源纵向越权:纵向越权指的是一个低级别攻击者尝试访问高级别用户的资源如何防止横向越权漏洞:可通过建立用户和可操作资源的绑定关系,用户对任何资源进行操作时,通过该绑定关系确保该资源是属于该用户所有的。对请求中的关键参数进行间接映射,避免使用原始关键参数名,比如使用索引1代替id值123等如何防止纵向越权漏洞:建议使用基于角色访问控

  • vscode常用插件大全「建议收藏」

    vscode常用插件大全「建议收藏」vscode常用插件大全参考文章https://mp.weixin.qq.com/s/1PkWPApvn5uWJl_cdzcoTA说明该片文章基本介绍了vscode常用插件,已经很全面本文不做任何编辑器的比较,只是我本人日常使用vscode进行开发,并且比较喜欢折腾vscode,会到处找这一些好玩的插件,于是越攒越多,今天给大家推荐一下我收藏的60多个vscode插件,据说插件装太多,编辑器会变卡,可能是我的电脑配置还顶得住,目前并没有感觉到卡卡的。接下来我会将会

  • String字符串反转

    这道题在面试的时候被问过,在此给大家分享一下。方法一、通过StringBuiler的reverse()的方法,最快的方式。publicstaticStringreverseStringBuilder(Strings){StringBuildersb=newStringBuilder(s);Stringreverse=sb.reverse().t…

  • 小型电裁剪刀_手动裁剪

    小型电裁剪刀_手动裁剪由于简书经常打不开,或者打开慢,不靠谱,还是把文章迁移到CSDN吧。简书链接:https://www.jianshu.com/p/8c6508cab763有时候想对摄像头采集的视频流进行区域裁剪,可以使用libyuv这个库,原理就是先把NV12转换为i420,对i420做裁剪,然后再把i420转换为NV12,NV12再转换为CVPixelBufferRef,CVPixelBufferRef再转…

  • C#验证码的实现_验证码怎么实现

    C#验证码的实现_验证码怎么实现一.编程思想(1).验证码由四位随机数字或者字母组成,此时就要考虑怎么获取随机数(2).各个字符之间怎么进行连接(3).当点击更换时会重新生成四位随机数(4).四位字符的显示二.代码的实现(1).引入伪随机数生成器Random,生成随机数实例化Random:Randomp=newRandom();//表示伪随机数生成器Randomp=newRandom();……

发表回复

您的电子邮箱地址不会被公开。

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