Traffic server overview

25
Traffic Server 简简 简简简 -- 简简简 简简 简简 [email protected] http://www.flyinfo.net

description

Traffic server overview

Transcript of Traffic server overview

Page 1: Traffic server overview

Traffic Server 简介

淘宝网 --核心系统研发:千石[email protected]

http://www.flyinfo.net

Page 2: Traffic server overview

Agenda

• 功能概览• 架构 &模型• Plugin开发• 配置 CDN

Page 3: Traffic server overview

TS为何物• Apache Traffic Server™ is fast, scalable and

extensible HTTP/1.1 compliant caching proxy server.

Page 4: Traffic server overview

回首过去

Page 5: Traffic server overview

功能概览• web代理缓存• 反向代理• 多级缓存

Page 6: Traffic server overview

缓存命中

Page 7: Traffic server overview

缓存未命中

Page 8: Traffic server overview

反向代理

Page 9: Traffic server overview

多级缓存

Page 10: Traffic server overview

并发问题• 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多核支持

Page 11: Traffic server overview

异步事件处理

Page 12: Traffic server overview

CPU多核支持

Page 13: Traffic server overview

架构• 多线程异步状态机–每个监听端口创建 accept线程–每个 core分配 2-3个线程–独立的线程处理监控和日志–每个活跃的请求维持状态机

• 支持 Plugins–在状态机的不同阶段进行 Hook–其他协议的支持( NNTP, streaming, FTP)

Page 14: Traffic server overview

架构

Page 15: Traffic server overview

架构

Page 16: Traffic server overview

线程模型

Page 17: Traffic server overview

同类比较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

Page 18: Traffic server overview

Plugin开发

Page 19: Traffic server overview

Plugin 例子

Page 20: Traffic server overview

Http状态转换 Hook

Page 21: Traffic server overview

Http状态转换 Hook

Page 22: Traffic server overview

配置 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

Page 23: Traffic server overview

更多信息• http://www.flyinfo.net/category/

traffic-server/

Page 24: Traffic server overview

参考文献• 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.

Page 25: Traffic server overview

Thank you!

Any question?