Nginx的“远方表哥”—Tengine

  今天想起当初研究nginx反向代理负载均衡时,nginx自身的upstream后端配置用着非常不舒服; 当时使用的淘宝基于nginx二次开发的Tengine,今天总结一下。

1、认识Tengine 1.1 介绍

Tengine是由淘宝网发起的Web服务器项目。它Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。它的目的是打造一个高效、安全的Web平台。

Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。

它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

201112月开始,Tengine成为一个开源项目。

现在,它由Tengine团队开发和维护。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。

 

1.2 功能

 继承Nginx-1.6.2的所有特性,兼容Nginx的配置

 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine

 支持SO_REUSEPORT选项,建连性能提升为官方nginx的三倍;

 支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求;

 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;

 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;

 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;

 支持设置proxymemcachedfastcgiscgiuwsgi在后端失败时的重试次数

 动态脚本语言Lua支持。扩展功能非常高效简单;

 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;

 支持按指定关键字(域名,url)收集Tengine运行状态;

 组合多个CSSJavaScript文件的访问请求变成一个请求;

 自动去除空白字符和注释从而减小页面的体积

 自动根据CPU数目设置进程个数和绑定CPU亲缘性;

 监控系统的负载和资源占用从而对系统进行保护;

 显示对运维人员更友好的出错信息,便于定位出错机器;

 更强大的防攻击(访问速度限制)模块;

 更方便的命令行参数,如列出编译的模块列表、支持的指令等;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzjwz.html