淘宝Tengine:构建高效Web服务器平台

5星 · 超过95%的资源 需积分: 13 7 下载量 56 浏览量 更新于2024-07-26 2 收藏 857KB PPTX 举报
"淘宝开源+Web服务器,主要讨论了淘宝如何使用和改进Nginx,创建Tengine,并将其应用于各种场景,包括Web接入层、日志收集与统计、RESTful接口支持以及分布式防攻击系统。" 淘宝开源的Web服务器项目Tengine是由Nginx发展而来,旨在打造一个更高效、稳定、安全且易用的平台。Nginx是由俄罗斯程序员Igor Sysoev在2002年开发的,它是一款高性能的Web服务器和反向代理服务器,因其低资源消耗和高度模块化设计而广受欢迎,全球使用量排名第三。2011年,Nginx成立了商业公司。 淘宝自2009年开始接触和探索Nginx,2010年开发了大量自定义模块,包括通用和特定业务的模块。随着对Nginx核心代码的深入修改,淘宝在2011年启动了Tengine项目并将其开源,到2012年已完全用Tengine替代了Apache。这一转变带来了显著的业务稳定性提升,Nginx的大连接数支持和低内存占用使得性能大幅提升,同时节约了硬件资源。 在应用案例中,Tengine在Web接入层扮演了重要角色,负责SSL卸载、七层接入管理、安全防御、负载均衡和灰度发布。通过构建多个Cache组,Tengine能够缓存大量静态资源,提高响应速度。日志收集与统计系统利用JavaScript埋点技术,收集用户行为日志,并通过Nginx模块进行分布式传输,再在Hadoop上运行MapReduce进行大规模数据分析。 此外,Tengine还支持RESTful接口,简化了应用开发,允许直接返回JSON数据,减轻服务器端渲染压力。淘宝的分布式防攻击系统TMD,结合Nginx,能够有效抵御DDoS攻击,通过封禁IP、限制流量和提供验证码服务来保护系统安全。 Tengine是淘宝对Nginx的优化和扩展,它在淘宝的Web服务架构中扮演了核心角色,提供了高性能的Web接入、日志分析、API接口支持和安全防护等功能,体现了开源技术在大型互联网公司中的创新应用和价值。