猫眼服务治理演进之路
如果无法正常显示,请先停止浏览器的去广告插件。
1.
2. 服务治理在猫眼娱乐的演进之路
陈超
猫眼娱乐基础架构负责人
3. 个人简介
2011-2015
Tech Leader
2015-2016
基础架构&运维部负责人
现猫眼娱乐基础架构负责人,腾讯云最具价值专家
参与国内最大的商业广告平台“凤巢系统”服务化过程
从0-1搭建丁丁租房整体业务微服务架构和基础架构体系
从0-1搭建猫眼娱乐基础架构体系
2016 till now
基础架构负责人
4. 目录
o
u
t
l
i
n
e
01 猫眼业务面临的难点
02 微服务稳定性保障
03 微服务架构演进
04 未来规划与探索
5. 目录
o
u
t
l
i
n
e
01 猫眼业务面临的难点
02 微服务稳定性保障
03 微服务架构演进
04 未来规划与探索
6. 服务治理的关键要素
✤ 系统:确保服务能够按照业务愿景进行运行和演进
✤ 人:确保在之上工作的工程师能够取得最大的舒适感
7. 猫眼在该领域面临的主要难点
✤ 数千万DAU
✤ 百亿级调用
✤ 百万级QPS
✤ 爬虫
✤ 恶意流量 ✤ 多语言
✤ 业务洪峰 ✤ 业务耦合
✤ 日常柔性
8. 举个栗子
✤ 2017年春节档Redis千兆网卡打满带来的严重影响
✤ 面向猫眼过千的服务,中间件动辄半年以上的版本升级周期
9. 目录
o
u
t
l
i
n
e
01 猫眼业务面临的难点
02 微服务稳定性保障
03 微服务架构演进
04 未来规划与探索
10. 高可用治理在猫眼的落地理论架构
✤ 压力测试
✤ 故障演练
大流量下的概率性故障
✤ 容量评估
✤ 预案设置
✤ ……
✤ 整体复盘
面向故障全生命周期进行治理
乐观与悲观并济
✤ 专项优化
✤ ……
✤ 限流熔断
✤ 降级
✤ 报警
✤ ……
11. 高可用治理在实际生产中的难点与挑战
12. 大禹 - 高可用治理中心
自动化的限流、熔断、降级、隔离、演练、监控报警的一站式可用性保障方案
13. 大禹 - 高可用治理中心
14. 大禹 - 系统架构
✤ 预测与模型共享带来的 0延时 体验
✤ 轻接入使运维升级成本下降 70% 以上
✤ 性能的极致优化,RT在 9us
✤ 策略复用率 90% 以上
15. 大禹 - 限流 - 面临的场景
✤ 恶意流量
✤ 大档期来临
✤ 演唱会抢票
16. 大禹 - 限流 - 洪峰下准确与实时的⻆力场
阶段
恶意流量 大档期洪峰 促销/秒杀活动 演出百万QPS秒杀
2016 2017-2018 2018 2019
3 4
2
1
应对
• 精细化行为
• 黑白名单
• 内容特征
★
Tips
★
★
★
策略引擎
任意维度组合
滑动窗口计数
特征库积累
• 持续洪峰限流
• 客户端限流
• 降级预案
★
★
★
★
去噪预测算法
按时批量缓冲
就近多维度缓存
自然窗口计数
• 单机限流
• 持续洪峰限流
★
★
一控四化权衡
动态Ratelimiter
• 单机限流
• 瞬时洪峰限流
• Set化
★
★
★
流量打平
多级组合与降级
分析同步化
17. 大禹 - 熔断 - 快速熔断与阶梯恢复
18. 大禹 - 演练 - 多维打通
•
•
•
•
大型演练十余次
数百次故障注入
覆盖所有核心链路
发现近百个问题,含数十个P0级问题
19. 大禹 - 监控 - 精细化运营
20. 目录
o
u
t
l
i
n
e
01 猫眼业务面临的难点
02 微服务稳定性保障
03 微服务架构演进
04 未来规划与探索
21. 微服务架构演进 - 如何提升人效
•
•
•
•
HAProxy
Nginx
Tengine
……
•
•
•
•
Dubbo
Thrift
Grpc
……
Servicemesh
22. 服务网格在猫眼的落地理论架构
Servicemesh在生产环境应用的难点与挑战
✤ 控制面板的边界如何切割?
✤ 能力下沉带来新的单体应用问题如何解决?
✤ 对业务进程零侵入现实吗?
✤ 交付质量如何保障?
✤ 性能和资源开销不可忽视
✤ 如何最大程度保障可用性?
有节制、可插拔、半贴合式的无中心治理
23. 盘古 - 服务治理中心
下一代的服务连接、注册、发现、中间件管理的一站式解决方案
24. 盘古 - 服务治理中心
25. 盘古 - 数据平面架构
Server
Starter
Admin
Cluster
Holder
HotRestart
Failover LoadBalancer
ConnManager Picker
Duplex
Defender
Metrics
XDS
Stream
Transport
Accept Filter
Router
StreamSender
Filter StreamReceiver
Filter
StreamSender StreamReceiver
RouterMatcher
ReadWrite Filter
Transporter
Stream
Listener
Connection
Protocol
EventLoop
Session
Resource
Pool
Management
SPI
Framework
Buffer
Management
26. 盘古 - 控制平面的切割与优化
๏ 遥测下沉,限流接入自建流控,解决性能问题
๏ 服务注册与发现整合,提供 完整解决方案
๏ 配置型平面MMCP协议快速接入,Pilot 零成本
๏ 数据型平面和普通应用一致性对待,践行Pet&Cow理论
27. 盘古 - 性能优化
๏ 异步Stream通讯模型
๏ 协程、字节、对象资源池化
๏ COW & CAS无锁化设计
๏ Payload后置
๏ Header+Body复用
๏ 时间轮
๏ 单例化处理
๏ IPC优化探索
QPS-
IPC
6 11
10.8
5
✓ 压测: <0.1ms ,灰度: 0.5ms
5
10.6
4
✓ 稳定性: 99.9998%
3.5
3.3
10.4
3
✓ CPU: 0.8876%
10.2
2
2.1
✓ MEM: 30.67M
1.7
10
1.3
1
✓ 自研框架RT最高较TCP/UDS提升 30%
0.9
0.7
9.8
0.5
0.5
0.6
0.4
0
9.6
6000
100
10000
tcp
500
15000
1000
uds Servicemesh
udsmmap
20000
5000
28. 盘古 - 全面的可用性保障
场景
策略
๏ Mesh经常性发布 ✓ CA/PA状态机驱动平滑发布
๏ 业务应用发布 ✓ 双注册中心结合平滑发布
๏ Mesh宕机 ✓ 保活、流量防御、兜底直连
๏ 业务灰度 ✓ 多维度灰度、一键回滚
๏ 注册中心网络分区 ✓ 类Eureka自我保护
๏ 注册中心不可用 ✓ 多级缓存
29. 盘古 - CI/CD闭环建设
•
•
•
•
场景初始化
智能调度预热、梯度、探顶
指标自动采集
压测报告自动生成
•
•
•
•
•
复杂拓扑、随机、概率事件
请求响应包体
伸缩、重启、宕机
流量规模
30. 盘古 - 数据平面“服务化”
31. 目录
o
u
t
l
i
n
e
01 猫眼业务面临的难点
02 微服务稳定性保障
03 微服务架构演进
04 未来规划与探索
32. 未来规划与探索
AIOps
Serverless
33. 总结
❖ 大禹-高可用治理中心
面向故障、乐观与悲观并济
❖ 盘古-服务治理中心
有节制、可插拔、半贴合、无中心
34. Thanks