美团外卖系统架构演进与系统稳定性
“相信大部分人都用过美团外卖,尤其是在每天的两个吃饭的高峰期。美团外卖从创业到现在经历了数次的迭代,不断的适应需求,提供更好的体验。
下面我们就仔细的聊聊“美团外卖系统架构演进与系统稳定性”
公司规模
美团网2012年7月份的销售额已经超过了5亿元,本地服务销售额占总销售额的95.14%
美团网2014年8月的交易额突破45亿元。截止到8月,美团共有北京、深圳、上海、广州、西安、武汉、杭州、成都八大城市单月交易额突破1亿元大关。
2014年美团全年交易额突破460亿元,较增长180%以上,市场份额占比超过60%。
美团网数据显示,2014年12月单月交易额达到63亿元,单日交易额更突破3亿元,在市场份额占比方面,美团网市场份额超过60%,比2013年的53%增长了7个百分点。
美团外卖系统架构演进与系统稳定性
以下分四部分聊
美团外卖业务发展历程
技术体系架构演进介绍
外卖业务稳定性的挑战
系统稳定性的处理原则
美团外卖业务发展历程
技术体系架构演进介绍
业务起步:MVP阶段
•快速试错
•快速迭代
技术架构1.0
•共用
•易部署
•快速发布
技术体系架构演进介绍
业务起步:40w单
•梳理业务
•寻找规模化方式
技术架构1.0
•加功能
•加服务
•易部署
•快速发布
业务规模化:100w单
•校园市场多城市铺开
•用户量激增
•平台活动增加
技术架构2.0
•服务化
•高内聚,低耦合
•拆:服务,库,表
业务增长:300w单
•白领市场全国铺开
•美团专送
技术架构3.0
•中间件
美团外卖业务发展历程
业务增长:1000w单
•供给侧改革
•美团专送
•众包配送
•新业务
技术架构4.0
•稳定大于一切
•多机房
•中间件
业务特点:高峰集中在中午、晚上晚点,爆发快
挑战:高并发,一旦发生故障损失较大
业务特点:服务链条长
挑战:依赖复杂
我们对稳定性的定义
系统可用性:4个9
订单可用性:4个9
影响稳定性的主要因素:(那些年我们踩过的坑)(记我们的血泪史)
发版:引入bug,姿势,潜伏期
数据库慢查询:全表扫描
代码质量:循环无法退出;重试;
RPC调用:未设置超时时间,引发雪崩;
数据一致性:多处数据不一致;Databus,MQ,JOB
打日志:日志打印太多,IO占满
共用导致的:库,MQ,zk,Tair,(所有的蛋放在一个篮子里)
流量异常:DDoS攻击
压测目标:
排查性能瓶颈,上探系统容量,验证降级机制
验证报警响应机制&指导设定警戒行动线
及时止损:回滚,分流,启动降级预案,限流
保护用户体验:客户端配合降级
力保关键路径:非关键路径模块降级
日常运行:灰度控制范围,压测预估容量,设置警戒行动线,警戒线的设定要留有余量,别到告警就来不及处理了
事前预警:业务大盘,健康分析,性能大盘
事故处理:分析,定位,解决
事后总结:Casestudy,重构系统,高压线
我的思考:
稳定是功能的一部分
性能是功能的一部分
简单才是最美的
自动化一切
定期Review,担心的一定会发生,而且有可能马上发生
倒逼改革,稳定性需求驱动架构演进升级
稳定性的健康度检查
业务基础组件的规划
业务展望系统未来规划
扩品类
平台化
供应量化
稳定性的健康度检查
业务基础组件的规划