美团点评基础架构中心高级技术专家 张熙 - OCTO:千亿规模下的服务治理挑战与实践

2020-02-27 1729浏览

  • 1.OCTO:千亿规模下的服务治理 挑战与实践 美团点评基础架构团队 张熙
  • 2.个⼈人简介 • 12年年加⼊入美团,基础架构部服务治理理、集群调度团队负责⼈人 • OCTO:分布式服务通信框架及服务治理理系统 • HULK:容器器集群管理理及弹性伸缩平台 • 专注于⾯面向服务架构、服务治理理、⼤大规模分布式系统、⾼高性能通信框架、 容器器化、弹性调度等领域
  • 3.Agenda • 美团服务架构演进历程 • OCTO架构设计及研发要点 • OCTO服务治理理实践
  • 4.美团点评介绍 • 中国O2O⾏行行业最⼤大的公司 • 覆盖全国2800多个市、县、区 • 2016年年交易易额超2000亿 • 共480万合作商户 • 6亿独⽴立⽤用户数 • 外卖⽇日订单量量1000万 •…
  • 5.美团服务架构演进历程
  • 6.美团服务架构演进 美团网正式上线 美团外卖上线 美团点评合并 2010.3 2012.3 2013.11 美团电影上线,后改名为 猫眼电影 2014.6 2015.11 成立酒店事业部 早期架构 服务架构1.0 服务架构2.0:OCTO体系
  • 7.• 垂直应⽤用架构 • LAMP体系 • HTTP + JSON 早期架构
  • 8.早期架构 - 问题与挑战 • 接⼝口定义:缺乏强Scheme约束 • HTTP + JSON:开发成本、规范 • HTTP协议:内⽹网链路路过⻓长 • 服务化设计、实践不不够普及 • 缺乏易易⽤用、⾼高性能的RPC通信框架 • 缺乏服务⾃自动注册、发现机制
  • 9.服务架构1.0
  • 10.服务架构1.0 - 问题与挑战 • 服务注册中⼼心 • Zookeeper、临时节点、故障隔离 • 多语⾔言⽀支持 • 服务通信框架 • 路路由、流量量策略略 • 强耦合、客户端过重 • 缺乏数据及监控 • 缺乏服务治理理、运营功能
  • 11.OCTO:分布式服务通信框架及服务治理理系统 • OCTO是什什么? 公司级基础设施,为公司所有业务提供统⼀一的⾼高性能服务通信框架,使业务具备良 好的服务运营能⼒力力,轻松实现服务注册、服务⾃自动发现、负载均衡、容错、灰度发 布、数据可视化、监控告警等功能,提升服务开放效率、可⽤用性及服务运维效率。 Project Kickoff! 接入服务600+,调用量 100亿 调用量超1000亿! 2014.8 2014.11 2015.8 v0.1 release 2016.6 now 接入服务2000+,调用量 500亿
  • 12.OCTO架构设计及研发要点
  • 13.OCTO - 整体架构 • MNS:命名服务 • SG_Agent:服务治理理代理理 • MTransport:服务通信框架 • HLB:弹性负载均衡器器 • MSGP:服务治理理平台
  • 14.服务注册发现 - 传统实现 • ZooKeeper⽅方式 • 临时节点 • 框架直连 • 触发or轮询更更新 • 问题与挑战 • session timeout • ZooKeeper ACL • 紧耦合、运维影响 • 集群不不稳定、故障隔离
  • 15.服务注册发现 - 代理理模式 • SG_Agent:服务治理理代理理 • 本地进程 • 标准化接⼝口 • 策略略热更更新 • 特点 • ⾼高可⽤用 • 低消耗 • 标准化部署
  • 16.代理理模式 - 服务注册流程 • 框架启动时注册 • 委托代理理执⾏行行 • MNS探测状态
  • 17.命名服务 - 状态检查 • ⼀一致性:集中式检查、全局视图 • ⾼高可⽤用:热备、集群化、熔断 • ⾼高准确:double check • ⾼高效率:Akka Actor、⽔水平扩展
  • 18.服务通信框架 - 策略略下移 • 客户端做薄 • 注册、发现逻辑 • 多机房、地域 • 路路由策略略 • 环境识别 • 慢启动策略略 • 节点注册限制
  • 19.策略略下移 - 路路由策略略 • 路路由策略略 • 机房 • 地域 • ⾃自定义路路由 • 泳道 • 多中⼼心
  • 20.服务通信框架 - ⽹网络内核 ⽼老老内核 • 不不⽀支持链接复⽤用、异步化⽀支持不不友好 • 性能稍差,4核4G、1K数据QPS 8w+ • 强依赖,模块紧耦合,不不⽅方便便做⾃自定义扩展 新内核 • ⽀支持链接复⽤用,原⽣生异步⽀支持 • 4核4G、1K数据 QPS 11w+ • 弱依赖,⽅方便便扩展,如服务鉴权、链接保护
  • 21.服务通信框架 - 统⼀一协议 • 美团点评合并:hessian vs thrift,通讯框架互调互通 • ⾃自定义⼆二进制协议:兼容⽀支持原⽣生Thrift协议 • ⾃自定义协议头:携带调⽤用链信息、上下⽂文 • ⽀支持全链路路参数传递,集成⽀支持全链路路压测需求 • 其它:⽀支持gzip、snappy、checksum
  • 22.服务通信框架 - 容灾降级 • 过载保护:线程池过载保护;按服务、接⼝口设置配额 • 链接保护:服务端可⽀支持的最⼤大链接数 • 服务隔离:不不同服务可分别配置线程池;快慢请求隔离 • ⼀一键截流:按调⽤用端、接⼝口等⼀一键掐流量量 • 容错处理理:快速降权,快速恢复
  • 23.OCTO服务治理理实践
  • 24.服务治理理 - 全⽣生命周期
  • 25.全⽣生命周期 Define • 服务注册、负责⼈人与SRE服务树/CMDB系统打通 Develop • ⽀支持IDL定义、代码在线⽣生成 Test • 测试环境隔离,泳道特性 • 打通性能测试平台,⽀支持引流压测,获取容量量数据 Deploy • 打通发布系统,⽆无损平滑发布 • 打通服务树,限制节点注册
  • 26.全⽣生命周期 Monitor:采集数据上报监控平台,状态、QPS/TP、异常
  • 27.全⽣生命周期 Management:⽀支持RD⾃自助管理理服务,节点权重、路路由分组、配置管理理
  • 28.全⽣生命周期 Optimize:以报表形式输出,SLA指标、可⽤用性、资源分布及利利⽤用率
  • 29.OCTO - 未来演进 OCTO 弹性调度平台
  • 30.回顾与总结 • 美团服务架构演进历程 • OCTO研发要点:代理理模式、状态检查、策略略下移、框架优化 • OCTO治理理实践:全⽣生命周期
  • 31.