QCon北京2014大会 4月17—19日
@InfoQ

infoqchina
ATS与CDN实践
阿里CDN @ Qcon 2013
赵永明
•

赵永明,淘宝花名永豪

•

阿里云核心系统研发Web平台
部

•

阿里CDN的cache系统
Apache Traffic Server开发

•

Apache Traffic Server:作为
中国最早的YTS用户,中...
总览
•

Apache Traffic Server介绍

•

阿里CDN实践

•

ATS社区
第一段
•

Apache Traffic Server介绍

•

阿里CDN实践

•

ATS社区、中国、未来
Apache Traffic Server 介绍
好扩展的高性能缓存代理服务
器
•

企业:省钱、省人

•

业务开发:稳定、高效

•

核心:恐怖、可怕

•

运维:靠谱、省心
全球用户
第二段
•

Apache Traffic Server介绍

•

阿里CDN实践

•

ATS社区、中国、未来
我们在做什么?
Cache UGC:与全国人们做斗争
•

数据量大:xx亿商品,xxPB存储

•

流量大:xxxx万QPS

•

业务需求极度压制:保双11而弃业务需求
我们在做什么?
Cache UGC:与全国人们做斗争
•

数据量大:xx亿商品,xxPB存储

•

流量大:xxxx万QPS

•

业务需求极度压制:保双11而弃业务需求

分级存储
分级存储
•

1.5TB存储,1Gb流量,32KB平均大

•

50%左右的磁盘命中,需要2000的IOPS

•

单Sata(SAS)盘最多80-100 IOPS

•

Sata + SSD是解决问题的良好组合
单盘性能瓶颈
分级存储特点
•

Block级,文件片(默认1M)粒度
同时支持大文件、小文件
LRU算法,简单有效

•

全局中间层,对上层业务透明

•

推荐比例:内存:SSD:SATS=1:10:100或更高
分级存储效果
我们在做什么?
Cache UGC:与全国人们做斗争
•

数据量大:xx亿商品,xxPB存储

•

流量大:xxxx万QPS

•

业务需求极度压制:保双11而弃业务需求

集群
集群原架构
•

去HAproxy

•

提升业务自由度
HAProxy挑战
•

性能,单机50% CPU用于HAproxy

•

7层屏蔽了业务能力

•

hash引入复杂度,数据一致性保证
HAProxy优化
•

L5630单线程性能优化到1Gb/s

•

基于HAProxy的hash广播Purge

•

Cache:HA = 1:1 CPU占用
原生ATS集群
•

集群是Cache文件系统的延伸

•

4线程支持4G/s,50% CPU占用

•

更好的支持:purge、SPDY、rewrite

•

单集群可以支持200台机器
我们在做什么?
Cache UGC:与全国人们做斗争
•

数据量大:xx亿商品,xxPB存储

•

流量大:xxxx万QPS

•

业务需求极度压制:保双11而弃业务需求

用户驱动
remap.config
•

引入类似Nginx的格式,配置用户化

•

嵌入referrer ACL、records.config

•

规范remap的plugin使用

•

嵌入cache.config hosting.confi...
remap例子

acl definedomain xxx.com|xxxx.com|xxxxx.com
referer black_list deny {
} redirect_url http://pics.taobaocdn.com/pi...
除了remap
•

使用DNS SRV管理回源(已包含在稳定版本中)

•

更细致的连接超时管理(大部分进主干)

•

ts-lua,ATS的Lua语音插件(github开源)

•

支持Linux Native AIO的尝试(已进主干...
我们还做了
•

日志系统与状态系统(已包含在稳定版本中)

•

支持删除、预加载的高效内容管理系统

•

内核协议栈优化

•

精准的IP库+全网细粒度调度系统

•

全网SLA检测系统(阿里度)
甚至协议测试
•

HTTP/1.1协议兼容性

•

跟进ATS功能测试

•

也支持Varnish Nginx
Squid等

https://github.com/alibaba/Macaroon
效果
•

Cache系统运维2人,支撑阿里CDN平稳运行

•

CDN基础框架稳定,周边系统大跨步跟进

•

TS团队前后5人被吸收为官方Committer(总34人)

•

社区的出色工作甚至重新赢回了雅虎的芳心
国内国外
•

Yahoo:老东家

•

Apple:代码主力,业界良心

•

Comcast:视频存储大户,ISP视频加速

•

LinkedIn:业务插件之王,C++API

•

ypyun又拍云:提供CDN服务

•

4399小...
后续计划
•

Lua进核心,支持配置Lua化

•

http v2,SPDY

•

C++ API(已进主干)

•

Cluster协议拓展,增强上下游网络处理效率
回顾
•

介绍ATS

•

欢迎加入扎堆

介绍阿里如何使用ATS
•
•

集群

•
•

分级存储

运维优化

社区发展

来往扫一下吧!
Thanks!
特别感谢
QCon上海合作伙伴
Q con shanghai2013-赵永明-ats与cdn实践
Upcoming SlideShare
Loading in …5
×

Q con shanghai2013-赵永明-ats与cdn实践

1,519 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,519
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Q con shanghai2013-赵永明-ats与cdn实践

  1. 1. QCon北京2014大会 4月17—19日
  2. 2. @InfoQ infoqchina
  3. 3. ATS与CDN实践 阿里CDN @ Qcon 2013
  4. 4. 赵永明 • 赵永明,淘宝花名永豪 • 阿里云核心系统研发Web平台 部 • 阿里CDN的cache系统 Apache Traffic Server开发 • Apache Traffic Server:作为 中国最早的YTS用户,中国第 一个committer+PMC成员 • tsar 2.0项目发起人
  5. 5. 总览 • Apache Traffic Server介绍 • 阿里CDN实践 • ATS社区
  6. 6. 第一段 • Apache Traffic Server介绍 • 阿里CDN实践 • ATS社区、中国、未来
  7. 7. Apache Traffic Server 介绍 好扩展的高性能缓存代理服务 器 • 企业:省钱、省人 • 业务开发:稳定、高效 • 核心:恐怖、可怕 • 运维:靠谱、省心
  8. 8. 全球用户
  9. 9. 第二段 • Apache Traffic Server介绍 • 阿里CDN实践 • ATS社区、中国、未来
  10. 10. 我们在做什么? Cache UGC:与全国人们做斗争 • 数据量大:xx亿商品,xxPB存储 • 流量大:xxxx万QPS • 业务需求极度压制:保双11而弃业务需求
  11. 11. 我们在做什么? Cache UGC:与全国人们做斗争 • 数据量大:xx亿商品,xxPB存储 • 流量大:xxxx万QPS • 业务需求极度压制:保双11而弃业务需求 分级存储
  12. 12. 分级存储 • 1.5TB存储,1Gb流量,32KB平均大 • 50%左右的磁盘命中,需要2000的IOPS • 单Sata(SAS)盘最多80-100 IOPS • Sata + SSD是解决问题的良好组合
  13. 13. 单盘性能瓶颈
  14. 14. 分级存储特点 • Block级,文件片(默认1M)粒度 同时支持大文件、小文件 LRU算法,简单有效 • 全局中间层,对上层业务透明 • 推荐比例:内存:SSD:SATS=1:10:100或更高
  15. 15. 分级存储效果
  16. 16. 我们在做什么? Cache UGC:与全国人们做斗争 • 数据量大:xx亿商品,xxPB存储 • 流量大:xxxx万QPS • 业务需求极度压制:保双11而弃业务需求 集群
  17. 17. 集群原架构 • 去HAproxy • 提升业务自由度
  18. 18. HAProxy挑战 • 性能,单机50% CPU用于HAproxy • 7层屏蔽了业务能力 • hash引入复杂度,数据一致性保证
  19. 19. HAProxy优化 • L5630单线程性能优化到1Gb/s • 基于HAProxy的hash广播Purge • Cache:HA = 1:1 CPU占用
  20. 20. 原生ATS集群 • 集群是Cache文件系统的延伸 • 4线程支持4G/s,50% CPU占用 • 更好的支持:purge、SPDY、rewrite • 单集群可以支持200台机器
  21. 21. 我们在做什么? Cache UGC:与全国人们做斗争 • 数据量大:xx亿商品,xxPB存储 • 流量大:xxxx万QPS • 业务需求极度压制:保双11而弃业务需求 用户驱动
  22. 22. remap.config • 引入类似Nginx的格式,配置用户化 • 嵌入referrer ACL、records.config • 规范remap的plugin使用 • 嵌入cache.config hosting.config等配置
  23. 23. remap例子 acl definedomain xxx.com|xxxx.com|xxxxx.com referer black_list deny { } redirect_url http://pics.taobaocdn.com/pic_fobbiden.png http vodcdn.video { proxy.config.http.origin_max_connections=100 acl check/usr/lib64/trafficserver/plugins/libmediaslice_pad.so.1 black_list map /withhead http://vodcdn.video.inner/withhead { config records plugin records proxy.config.http.origin_max_connections=100 } config } } map / http://vodcdn.video.inner/ {
  24. 24. 除了remap • 使用DNS SRV管理回源(已包含在稳定版本中) • 更细致的连接超时管理(大部分进主干) • ts-lua,ATS的Lua语音插件(github开源) • 支持Linux Native AIO的尝试(已进主干) • 集群管理系统优化(部分提交社区) • tsar多种ATS数据统计模块(开源在tsar项目中)
  25. 25. 我们还做了 • 日志系统与状态系统(已包含在稳定版本中) • 支持删除、预加载的高效内容管理系统 • 内核协议栈优化 • 精准的IP库+全网细粒度调度系统 • 全网SLA检测系统(阿里度)
  26. 26. 甚至协议测试 • HTTP/1.1协议兼容性 • 跟进ATS功能测试 • 也支持Varnish Nginx Squid等 https://github.com/alibaba/Macaroon
  27. 27. 效果 • Cache系统运维2人,支撑阿里CDN平稳运行 • CDN基础框架稳定,周边系统大跨步跟进 • TS团队前后5人被吸收为官方Committer(总34人) • 社区的出色工作甚至重新赢回了雅虎的芳心
  28. 28. 国内国外 • Yahoo:老东家 • Apple:代码主力,业界良心 • Comcast:视频存储大户,ISP视频加速 • LinkedIn:业务插件之王,C++API • ypyun又拍云:提供CDN服务 • 4399小游戏:专用CDN • VeryCloud云端网络:提供CDN服务
  29. 29. 后续计划 • Lua进核心,支持配置Lua化 • http v2,SPDY • C++ API(已进主干) • Cluster协议拓展,增强上下游网络处理效率
  30. 30. 回顾 • 介绍ATS • 欢迎加入扎堆 介绍阿里如何使用ATS • • 集群 • • 分级存储 运维优化 社区发展 来往扫一下吧!
  31. 31. Thanks!
  32. 32. 特别感谢 QCon上海合作伙伴

×