Traffic server overview
-
Upload
qianshi -
Category
Technology
-
view
4.710 -
download
2
description
Transcript of Traffic server overview
Agenda
• 功能概览• 架构 &模型• Plugin开发• 配置 CDN
TS为何物• Apache Traffic Server™ is fast, scalable and
extensible HTTP/1.1 compliant caching proxy server.
回首过去
功能概览• web代理缓存• 反向代理• 多级缓存
缓存命中
缓存未命中
反向代理
多级缓存
并发问题• C10k– http://www.kegel.com/c10k.html
• C10k-C500k– http://www.dbanotes.net/arch/
c10k_c500k.html
• C1000k– http://www.slideshare.net/mryufeng/c1000k
• 解决之道–异步事件处理– CPU多核支持
异步事件处理
CPU多核支持
架构• 多线程异步状态机–每个监听端口创建 accept线程–每个 core分配 2-3个线程–独立的线程处理监控和日志–每个活跃的请求维持状态机
• 支持 Plugins–在状态机的不同阶段进行 Hook–其他协议的支持( NNTP, streaming, FTP)
架构
架构
线程模型
同类比较ATS HAProxy nginx Squid Varnish
Work Threads X X X Multi-process X # # Event-driven XPlugin APIs X # # #
Forward proxy X X XReverse proxy Transp. proxy # XLoad Balancer
Cache X ESI X X ICP X X X
Keep-Alive X SSL X X
Pipeline X X
Plugin开发
Plugin 例子
Http状态转换 Hook
Http状态转换 Hook
配置 CDN
CONFIG proxy.config.http.server_port INT 80CONFIG proxy.config.reverse_proxy.enabled INT 1CONFIG proxy.config.url_remap.remap_required INT 1
map http://cdn.example.com/img http://img.example.comreverse_map http://img.example.com http://cdn.example.com/img
map http://cdn.example.com/js http://js.example.comreverse_map http://js.example.com http://cdn.example.com/js
map http://cdn.example.com/css http://css.example.comreverse_map http://css.example.com http://cdn.exampe.com/css
records.config
remap.config
更多信息• http://www.flyinfo.net/category/
traffic-server/
参考文献• https://cwiki.apache.org/TS/traffic-
server.html• Traffic Server Meetup, ApacheCon
2009. • Leif Hedstrom, Apache Traffic Server -
HTTP Proxy Server on the Edge, Velocity 2010.
• Leif Hedstrom, Driving Apache Traffic Server, OSCON 2010.
Thank you!
Any question?