淘宝开源Tengine:打造高效Web服务器
5星 · 超过95%的资源 需积分: 10 8 浏览量
更新于2024-07-25
收藏 1.3MB PPT 举报
"Tengine是淘宝基于Nginx进行二次开发的一个开源Web服务器项目,旨在打造高效、稳定、安全和易用的平台。该项目由姚伟斌(文景)和朱照远(叔度)在2012年10月20日的演讲中介绍,主要涵盖了背景、应用案例分析、开发与定制以及当时的工作进展等内容。Tengine在淘宝的使用极大地提升了业务的稳定性和性能,同时有效抵御了DDoS攻击。"
**1、Nginx基础与Tengine的诞生**
Nginx是一款由俄罗斯程序员Igor Sysoev在2002年创建的Web服务器,它同时具备HTTP反向代理和邮件代理服务器的功能。由于其高性能、低资源占用和模块化设计,Nginx在全球范围内广泛应用,排名第三。2011年,Nginx成立了商业公司。
淘宝网自2009年开始使用和探索Nginx,到2010年,开发了大量通用和业务相关的模块。2011年,随着对Nginx核心代码的修改,淘宝启动了Tengine项目,并将其开源。2012年,淘宝的Apache服务器全部被Tengine替代。
**2、淘宝使用Nginx与Tengine的收益**
- **业务稳定性**:Nginx的大连接数支持良好,内存占用低,避免了吃swap,从而增强了系统的稳定性。
- **业务性能提升**:与Apache相比,Nginx的QPS更高,所需机器数量减少,且业务模块性能通常有显著提升,有助于抵御DDoS攻击。
**3、应用案例分析**
- **Web接入层**:Nginx负责SSL卸载、七层接入管理、安全防御、负载均衡、灰度发布和静态资源处理。通过多组Nginx服务器和LVS集群,实现高可用性和负载分布。
- **动态内容静态化**:Nginx组将动态内容转化为静态,配合多组Cache服务器,提高响应速度和减少后端压力。
- **大用户群消息推送**:采用Comet服务架构,单台服务器可支持60万连接,实际运行时处理30万连接,实现了大规模的消息推送能力。
- **日志收集与统计系统**:通过Nginx模块收集JavaScript埋点的日志,使用分布式传输系统将数据发送到Hadoop进行MapReduce统计,单机处理能力高达4万QPS。
**4、开发与定制**
Tengine作为Nginx的增强版,主要针对大型电商网站的需求进行了优化,增加了如动态脚本支持、访问控制、防盗链、压力测试等功能,更适合处理高并发、大数据量的场景。淘宝的开发团队对Nginx核心代码的修改和扩展,使得Tengine成为了更适应淘宝业务特性的服务器解决方案。
总结,Tengine是针对Nginx进行深度定制的开源Web服务器,特别适合处理大规模的电商网站流量,通过其高效的性能、稳定性和丰富的定制功能,满足了淘宝等大型互联网企业的需求。
2016-12-05 上传
2013-12-17 上传
2019-07-18 上传
2019-12-28 上传
2021-05-01 上传
2019-03-13 上传
2019-12-19 上传
2018-12-14 上传
xiaojian_bj
- 粉丝: 0
- 资源: 3
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器