SlideShare a Scribd company logo
OCTO:分布式服务通信框架及服务治理系统
张熙  基础架构中心  2016.6  
• SOA及服务治理介绍  
• 服务架构演进  
• OCTO架构设计  
• 服务治理实践  
Agenda
⾯面向服务架构
• 单应用设计  
•  Function  
•  Module  
• 面向对象设计  
• 组件化设计  
• 面向服务架构  
•  Service  
•  API  
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
服务治理
• 服务架构原则  
•  轻耦合  
•  标准化  
•  可重用  
•  高可靠  
•  可伸缩  
• 服务治理过程  
•  服务定义  
•  服务实现  
•  服务运营  
早期服务架构
• 服务注册中心  
•  基于zookeeper  
• 服务通信框架  
•  Thrift协议  
•  暂只支持Java  
• Http协议服务  
•  还需手动维护  
• 服务治理涉及不多  
早期服务架构 - 遇到的问题
• 服务注册中心  
•  上万服务节点,如何保障足够稳定  
•  多种语言带来的服务注册/发现需求,还存在直接依赖IP的情况  
•  功能扩展的灵活性  
• 服务通信框架  
•  过多逻辑放到客户端  
•  大并发高压力下,要能保障业务高可用  
•  数据、监控方面支持不够  
•  多语言支持  
• 未实现全生命周期的服务治理,做到服务规范化、标准化  
•  OCTO是什么?  
•  面向服务架构,公司所有业务都使用
OCTO作为统一的服务通信框架,达到
基本的标准化。并具备良好的服务运营
能力,轻松实现服务注册、服务自动发
现、负载均衡、容错、灰度发布、数据
可视化、监控告警等。  
•  OCTO关键组件  
•  MNS:命名服务  
•  SG_agent:治理代理  
•  服务通信框架  
•  MSGP:服务治理平台  
OCTO整体架构
服务注册中⼼心 - 遇到的问题
• zookeeper集群问题  
•  session  timeout,临时节点抖动下线  
•  突发链接过多  
•  突发事务过多  
•  网络因素导致集群故障  
•  其它人为因素,如误操作、迁移扩容  
• 故障恢复及影响  
•  集群受业务侧影响导致故障时,较难解决  
•  网络方面导致的故障,恢复时间可能会较长  
•  所有业务都需依赖,难以隔离影响范围  
可⽤用性百分⽐比 ⼀一天24⼩小时为基准 ⼀一天8⼩小时为基准
99.9%! 8.76⼩小时! 2.91⼩小时!
99.99%! 52.56分钟! 17.47分钟!
99.999%! 5.256分钟! 1.747分钟!
⼏几种解决思路
• 增加voter  
•  受限于集群投票机制,通过增加voter并不能很好达到扩容预期  
• 增加observer  
•  能很好缓解读请求,但不能解决所有问题  
• 集群拆分  
•  能实现事业群间隔离,但带来更多问题  
•  违背统一注册中心的设计初衷  
• 框架层内置缓存策略  
•  能部分解决抖动、不可用问题,但服务一旦需要重启还是受影响  
• 代理模式  
• 本地部署  
• 分布式  
• 灵活可扩展  
OCTO服务注册中⼼心 - 引⼊入SG_agent
引⼊入代理后的注册流程
• 客户端做薄  
• 稳定、高可用  
• 数据驱动  
• 高性能  
• 多语言支持  
• 异步化  
• ……  
服务通信框架 - 设计要点
• 单机房场景  
•  全部节点列表,按weight分配流量  
• 多机房场景  
•  同机房优先,同机房内的节点,按weight分配流量  
•  同机房节点不可用时,跨机房分配流量  
• 异地多机房场景  
•  同机房优先,同机房内的节点,按weight分配流量  
•  同机房节点不可用时,优先在本地域内,跨机房分配流量  
•  本地域无可用节点时,跨地域分配流量  
异地多机房下的路由策略需求
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
• 框架层实现  
•  单机房  ->  多机房  ->  异地多机房  
•  机房、地域等网络拓扑信息在框架层维护不合适  
• 策略下移  
•  权重做归一化处理  
•  MNS、SG_agent基于网络拓扑做自动识别  
• 下移后的全局拓扑信息可进一步对其它中间件开放  
•  KV、MQ等  
客户端做薄 - 策略下移
客户端做薄 - 权重归⼀一化
• 场景1  
•  调用失败了,是否要重试,什么策略?  
• 场景2  
•  高峰期出现抖动时,不恰当重试导致雪崩  
• 场景3  
•  某个调用方逻辑问题,大量访问,需降级  
•  高峰期压力大,需执行过载保护  
如何保障业务的稳定性、⾼高可⽤用
•  服务查找阶段failure  
•  无provider,直接抛出  
•  失败节点快速降权、淘汰  
•  请求阶段failure  
•  请求确认丢失,可以重试  
•  如果难以确认server是否未收到,需考虑调用是否幂等  
•  server侧failure  
•  分执行前失败、执行后失败两种情况  
•  从client侧难以区分这两种情况,需考虑调用是否幂等  
•  client等待response超时  
•  需考虑调用是否幂等  
导致调⽤用失败的⼏几种场景
• 几种策略  
•  Fail  over:失败自动重试,可指定重试次数  
•  Fail  fast:失败立即报错,用于非幂等调用  
• 过载保护  
•  针对来源服务,一键设置流量的降级比例  
•  支持自定义降级逻辑,不执行一些耗时操作  
通信框架 - 容错降级机制
0!
2000!
4000!
6000!
8000!
10000!
12000!
14000!
16000!
18000!
0%! 20%! 40%! 60%! 80%!
正常容量!
过载保护容量!
⾃自定义降级逻辑容量!
服务治理 - 数据驱动业务
•  谁调用了我?  
•  对哪个服务是强依赖?  
•  线上调用量突增,来源是哪里?  
•  线上响应时间突增,原因是在哪个环节?  
•  一次请求失败了,什么原因?怎么能看到详细信息?  
•  该业务线涉及几十个服务,整体视图是什么样的?  
•  业务线哪些服务是关键服务?可用性如何,当前容量是否足够?  
数据采集设计
数据采集&处理
• 自定义协议  
•  框架添加header:requestInfo、responseInfo、traceInfo、context  
•  结合mtrace,记录调用链路  
• 数据采集  
•  采集调用信息后,通过SG_agent上报  
•  采集应用层的异常信息,实时上报并分析  
• 数据处理  
•  一天近百亿的上报数据,需要实时处理:Akka  Actor  
•  同一个服务、指标等数据,需要先汇聚:一致性hash  
•  非实时数据,定时分析:Spark  
⼀一站式服务治理平台
• 性能指标!
• 来源去向!
• 调⽤用链路!
• 数据报表!
• 状态监控!
• QPS/TP监控!
• 异常监控!
• 链接、线程监控!
• 节点权重!
• 路由分组!
• 配置管理!
• 过载保护!
• 服务注册!
• 服务列表!
• 提供者!
• 消费者!
注册
中⼼心!
管理
运营!
数据
分析!
监控
运维!
服务注册中⼼心
服务数据分析
服务视图
OCTO-后续展望
服务可⽤用性!
服务运维
效率!
资源利⽤用率!
数据驱动!
性能数据!
会话链数据!
机房分布!
最⼤大吞吐!
可⽤用性数据!
架构Review!
整体视图!
治理报告!
资源成本报告!
服务容量报告!
可⽤用性报告!
弹性调度平台!
谢谢  

More Related Content

PDF
美团点评沙龙012-初创电商的物流摸索
美团点评技术团队
 
PDF
W3CTech美团react专场-React Native 初探
美团点评技术团队
 
PDF
美团技术沙龙04 美团下一代分布式存储系统
美团点评技术团队
 
PDF
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术团队
 
PDF
美团点评技术沙龙14:美团四层负载均衡
美团点评技术团队
 
PDF
W3CTech美团react专场-Thinking in React
美团点评技术团队
 
PDF
从开发到上线-实战持续交付
LI Daobing
 
PDF
Nginx深度開發與客制化
Joshua Zhu
 
美团点评沙龙012-初创电商的物流摸索
美团点评技术团队
 
W3CTech美团react专场-React Native 初探
美团点评技术团队
 
美团技术沙龙04 美团下一代分布式存储系统
美团点评技术团队
 
美团点评技术沙龙05 - Node.js业务应用实践和服务监控
美团点评技术团队
 
美团点评技术沙龙14:美团四层负载均衡
美团点评技术团队
 
W3CTech美团react专场-Thinking in React
美团点评技术团队
 
从开发到上线-实战持续交付
LI Daobing
 
Nginx深度開發與客制化
Joshua Zhu
 

What's hot (20)

PDF
美团技术团队 - 美团网数据仓库的演进
美团点评技术团队
 
PDF
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
 
PDF
美团点评技术沙龙14美团云-Docker平台
美团点评技术团队
 
PDF
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
 
PDF
阿里CDN技术揭秘
Joshua Zhu
 
PDF
美团技术沙龙04 - Kv Tair best practise
美团点评技术团队
 
PDF
Yog Framework
fansekey
 
PDF
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术团队
 
PDF
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术团队
 
PDF
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术团队
 
PDF
基于MySQL的分布式数据库实践
jackbillow
 
PDF
阿里云技术实践
drewz lin
 
PPTX
数据架构方面的一些探讨
Chao Zhu
 
PDF
D baa s_in_xiaomi
hdksky
 
PDF
阿里开源经验分享
Joshua Zhu
 
PPTX
Team Foundation Server
國昭 張
 
PDF
豆瓣数据架构实践
Xupeng Yun
 
PPT
20110607 IPv6
Jui-Nan Lin
 
PPTX
Q con成都主题演讲【弹性计算】by马介悦
drewz lin
 
PPT
新浪微博redis技术演化
XiaoJun Hong
 
美团技术团队 - 美团网数据仓库的演进
美团点评技术团队
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术团队
 
美团点评技术沙龙06 - 滴滴移动端测试解耦工具实践
美团点评技术团队
 
阿里CDN技术揭秘
Joshua Zhu
 
美团技术沙龙04 - Kv Tair best practise
美团点评技术团队
 
Yog Framework
fansekey
 
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术团队
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术团队
 
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术团队
 
基于MySQL的分布式数据库实践
jackbillow
 
阿里云技术实践
drewz lin
 
数据架构方面的一些探讨
Chao Zhu
 
D baa s_in_xiaomi
hdksky
 
阿里开源经验分享
Joshua Zhu
 
Team Foundation Server
國昭 張
 
豆瓣数据架构实践
Xupeng Yun
 
20110607 IPv6
Jui-Nan Lin
 
Q con成都主题演讲【弹性计算】by马介悦
drewz lin
 
新浪微博redis技术演化
XiaoJun Hong
 
Ad

Similar to 美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统 (20)

PDF
03.osb概览
Meng He
 
KEY
新浪微博平台与安全架构
n716
 
PDF
有道云笔记架构简介
drewz lin
 
PDF
微服务架构设计模式-第一次课v2.pdf
LiShanshan2
 
PDF
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
StevenShing
 
PPTX
了解应用服务器
Feng Yu
 
PDF
新浪微博Feed服务架构
XiaoJun Hong
 
PPTX
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
 
PDF
Nodejs & NAE
q3boy
 
PDF
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
colderboy17
 
PDF
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
guiyingshenxia
 
PPT
Rest与面向资源的web开发
topgeek
 
PDF
MySQL 高可用方案及成功案例
郁萍 王
 
PPT
大规模网站架构
drewz lin
 
PPT
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
锐 张
 
PDF
企業導入微服務實戰 - updated
Paul Chao
 
PDF
廣宣學堂: 企業導入微服務實戰
Paul Chao
 
PDF
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
drewz lin
 
PDF
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa京东服务框架实践.pdf
dasp1055306202
 
PDF
金山云查询系统改进之路1
Zoom Quiet
 
03.osb概览
Meng He
 
新浪微博平台与安全架构
n716
 
有道云笔记架构简介
drewz lin
 
微服务架构设计模式-第一次课v2.pdf
LiShanshan2
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
StevenShing
 
了解应用服务器
Feng Yu
 
新浪微博Feed服务架构
XiaoJun Hong
 
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
 
Nodejs & NAE
q3boy
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
colderboy17
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
guiyingshenxia
 
Rest与面向资源的web开发
topgeek
 
MySQL 高可用方案及成功案例
郁萍 王
 
大规模网站架构
drewz lin
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
锐 张
 
企業導入微服務實戰 - updated
Paul Chao
 
廣宣學堂: 企業導入微服務實戰
Paul Chao
 
曲琳 购物搜索引擎架构的变与不变——一淘网搜索技术分享0731
drewz lin
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa京东服务框架实践.pdf
dasp1055306202
 
金山云查询系统改进之路1
Zoom Quiet
 
Ad

More from 美团点评技术团队 (20)

PDF
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术团队
 
PDF
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评技术团队
 
PDF
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评技术团队
 
PDF
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评技术团队
 
PDF
美团点评技术沙龙011 - 团购系统流量和容量评估实践
美团点评技术团队
 
PDF
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
 
PDF
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术团队
 
PDF
美团点评技术沙龙010-美团Atlas实践
美团点评技术团队
 
PDF
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术团队
 
PDF
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术团队
 
PDF
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术团队
 
PDF
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术团队
 
PDF
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术团队
 
PDF
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术团队
 
PDF
2.美团点评技术沙龙08 微服务是银弹么
美团点评技术团队
 
PDF
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术团队
 
PDF
美团点评技术沙龙08 - 分布式会话跟踪系统架构设计与实践
美团点评技术团队
 
PDF
美团点评技术沙龙07 - 外卖后端端技术架构
美团点评技术团队
 
PDF
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术团队
 
PDF
美团点评技术沙龙07 - 大众点评支付渠道网关系统实践
美团点评技术团队
 
美团点评技术沙龙13-点评Titans框架的设计和实践
美团点评技术团队
 
美团点评沙龙12-LBS空间搜索架构的优化历程
美团点评技术团队
 
美团点评沙龙012-从零到千万量级的实时物流平台架构实践
美团点评技术团队
 
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评技术团队
 
美团点评技术沙龙011 - 团购系统流量和容量评估实践
美团点评技术团队
 
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
 
美团点评技术沙龙011 - 移动app兼容性测试工具Spider
美团点评技术团队
 
美团点评技术沙龙010-美团Atlas实践
美团点评技术团队
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术团队
 
美团点评技术沙龙010-美团数据库自动化运维系统构建之路
美团点评技术团队
 
美团点评技术沙龙09 - 美团外卖中的单量预估及列表优化
美团点评技术团队
 
美团点评技术沙龙09 - 美团配送智能调度实践
美团点评技术团队
 
美团点评技术沙龙09 - 外卖O2O的用户画像实践
美团点评技术团队
 
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术团队
 
2.美团点评技术沙龙08 微服务是银弹么
美团点评技术团队
 
美团点评技术沙龙08 - 分布式监控系统实践
美团点评技术团队
 
美团点评技术沙龙08 - 分布式会话跟踪系统架构设计与实践
美团点评技术团队
 
美团点评技术沙龙07 - 外卖后端端技术架构
美团点评技术团队
 
美团点评技术沙龙07 - 外卖订单系统架构演进与实践
美团点评技术团队
 
美团点评技术沙龙07 - 大众点评支付渠道网关系统实践
美团点评技术团队
 

美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统