淘宝开源Tengine:打造高效Web服务器

需积分: 10 11 下载量 150 浏览量 更新于2024-08-17 收藏 1.3MB PPT 举报
"Tengine是淘宝基于Nginx开发的一个高性能、稳定且易用的Web服务器,旨在打造高效、稳定、安全、易用的平台。淘宝从2009年开始使用和探索Nginx,到2011年,由于业务需求,开始修改Nginx核心代码并启动Tengine项目,将其开源。到2012年,淘宝已将所有Apache服务器替换为Tengine。Tengine在淘宝的应用带来了业务的稳定性和性能的提升,有效地抵御了DDoS攻击。 1、Nginx简介 Nginx是一款由俄罗斯程序员Igor Sysoev在2002年开发的Web服务器,它同时支持HTTP反向代理和邮件代理服务。由于其高性能、低资源占用以及内存池设计的稳定性,Nginx在全球的使用量排名第三,并在2011年成立了商业公司。 2、Tengine的开发与定制 淘宝在使用Nginx的过程中,从2010年开始开发大量模块,包括通用模块和业务专用模块。2011年,由于需要对Nginx核心代码进行修改,淘宝推出了Tengine项目并开源,以满足更复杂和定制化的业务需求。 3、淘宝网应用Nginx的收益 - 业务稳定性:Nginx能处理大量并发连接,且内存占用低,避免了因吃swap导致的不稳定。 - 性能提升:相比Apache,Nginx具有更高的QPS(每秒查询率),减少了服务器数量。 - 安全性:通过Nginx的模块可以有效抵御DDoS攻击。 - 静态资源处理:Nginx能够高效地处理静态资源,减轻后端应用服务器的压力。 4、应用案例分析 - Web接入层:Nginx在Web接入层负责SSL卸载、七层接入管理、安全防御、负载均衡、灰度发布和静态资源服务。 - 动态内容的静态化:通过Nginx组实现动态内容的缓存,提高响应速度。 - 大用户群消息推送:采用Comet服务架构,单台服务器可支持60万连接,实际运行在30万连接左右。 - 日志收集与统计系统:Nginx作为日志收集模块,配合分布式传输系统和Hadoop进行日志分析,单机处理能力可达4万QPS。 5、RESTful API支持 Tengine还支持RESTful API,提供了一种轻量级的、无状态的、基于HTTP的接口来访问和操作资源,方便服务的集成和扩展。 总结来说,Tengine是Nginx的增强版,尤其适合大规模、高并发的互联网应用场景,如电商平台。其开源特性使得社区能够共同参与开发,不断优化和完善功能,以适应不断变化的互联网环境。"