美团点评技术沙龙07 - 外卖后端端技术架构

21
美团外卖端技术架构实践 fangjianping@美团外卖 2016.5

Post on 09-Jan-2017

704 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: 美团点评技术沙龙07 - 外卖后端端技术架构

美团外卖后端技术架构实践 fangjianping@美团外卖 2016.5

Page 2: 美团点评技术沙龙07 - 外卖后端端技术架构

• 一、美团外卖概览

• 二、美团外卖后端架构的演进与设计原则

• 三、美团外卖性能&稳定性核心实践

目录

Page 3: 美团点评技术沙龙07 - 外卖后端端技术架构

一、美团外卖概览

Page 4: 美团点评技术沙龙07 - 外卖后端端技术架构

C

M

R

B

MT

美团外卖概览

ü  O2O

• 

•  Slogan

Page 5: 美团点评技术沙龙07 - 外卖后端端技术架构

2013/11 2014/11 2015/12 2016/05

l  300

2015/05 ?

1000

200 100

400 l  l  logo

l  PC l  MVP

l  l  90%+

美团外卖重要里程碑

Page 6: 美团点评技术沙龙07 - 外卖后端端技术架构

二、外卖后端架构的演进与设计原则

Page 7: 美团点评技术沙龙07 - 外卖后端端技术架构

美团外卖业务流程下的技术应用体系概览

C

RANK

app

/ /BI

/

APP PC

M

R

B

GIS

/

Page 8: 美团点评技术沙龙07 - 外卖后端端技术架构

• 驱动因素 ü  满足基本业务诉求

ü  快速提供线上服务

ü  验证业务模型

• 系统特征 ü  系统结构简单,易部署&维护

ü  服务相互之间耦合较多

美团外卖后端系统体系架构的演进V1.0

Web API

DB/Cache

waimaiService.jar

PC native/H5 /

APP/PC

C M B

Page 9: 美团点评技术沙龙07 - 外卖后端端技术架构

• 驱动因素 ü  业务发展迅速,订单数据膨胀

ü  业务复杂度上升,支持在线支付

ü  上层重复开发较多

• 重构核心 ü  垂直拆分部分关键核心服务

ü  构建订单交易专用DB

ü  抽取搜索基本服务

美团外卖后端系统体系架构的演进V2.0

PC native/H5 /APP/

PC/

C M B

/Cache

Web API

Page 10: 美团点评技术沙龙07 - 外卖后端端技术架构

• 驱动因素 ü  业务品类扩展,渠道增加

ü  系统数据驱动因素提升

ü  用户规模与单量上升

• 重构核心 ü  拆分日志数据、营销服务与线上

业务系统

ü  整合移动后台服务

ü  拆分门店、商品、UGC等业务

ü  抽取通用基础服务

美团外卖后端系统体系架构的演进V3.0

UI

APP APP H5 PC WEB

(api.waimai.meituan) APP/H5 LOG

PC-WEB (waimai.meituan)

open.waimai.meituan

Rank&

UGC

UGC

接⼊层TAIR集群 Rank TAIR TAIR集群 TAIR Cache/

DB

APP

A/B

APP

Page 11: 美团点评技术沙龙07 - 外卖后端端技术架构

- 

-  ,

-  - 

-  MIS -  ü  …

-  ü  & ü  /

-  ü  业务上功能&非功能服务 ü  数据上历史数据&实时数据

- 

- 

- 

- 

-  -  -  -  服务抽象,低耦合

ü  & - 

ü  ,SLA

外卖系统架构演进的关键思想总结-架构设计原则

Page 12: 美团点评技术沙龙07 - 外卖后端端技术架构

三、美团外卖性能&稳定性核心实践

Page 13: 美团点评技术沙龙07 - 外卖后端端技术架构

•  系统压力高峰期区分明显

•  交易的链路长实时性要求高

•  交易转化率高

•  用户停留时间短

外卖业务的系统特点

QPS

Page 14: 美团点评技术沙龙07 - 外卖后端端技术架构

• 接入层重点 ü  控制所有接入服务接口最大超时时间500ms~300ms

ü  各服务接口接入提供是否具备降级能力和降级策略

ü  设置聚合数据缓存,减少底层服务调用

ü  采用异步服务调度框架,实现部分并行服务调度

外卖线上系统性能核心关注点

API

N 1 …

C

• 服务/数据层重点 ü  缓存

ü  提前计算,构建文件索引

ü  数据分库,分表 cache /

cache

Page 15: 美团点评技术沙龙07 - 外卖后端端技术架构

• 问题 ü  外卖启动列表页QPS高,聚合服务多

(Lbs->Rank->POI->活动->配送->…)

• 策略 ü  首页门店列表的缓存à基于用户维度的列表

(时效3分钟)

ü  门店VO的缓存

接入层缓存典型场景之一:首页列表信息缓存

tair

C

API

RANK

MQ

MySQL Master DB

……

MySQL Slave

Databus

&

Page 16: 美团点评技术沙龙07 - 外卖后端端技术架构

• 需求 ü  首页频道(特定门店属性聚合)的门

店筛选

ü  门店商品的信息组合展示(销量、库

存、静态配送费、评分、配送时长等)

• 策略 ü  构建聚合服务提前汇聚数据集合

ü  实时变更部分采用消息监听同步

服务层计算数据聚合典型场景之一:门店商品聚合服务

ETL

& DB

MQ

DB MASTER

DB SLAVE

Databus

API

C

&

Page 17: 美团点评技术沙龙07 - 外卖后端端技术架构

• 业务特点 ü  数据库读写高

ü  单库,单表数据量大

ü  服务使用场景差异

• 分片策略 ü  实时交易系统与基本查询服务分离

ü  订单基本库&订单详情库&流程状态

库分离

ü  按照门店、用户、ID三维度分基本信

息库

ü  各维度按照ID散100个表

每维度25个表一个库

ü  历史库归档

服务&数据分片典型场景之一 :订单中心

Tair (17M) Lucene Databus

(45S)

MQ

Tair/Hive

Page 18: 美团点评技术沙龙07 - 外卖后端端技术架构

外卖线上服务部署&服务治理 DNS

ISP(A) ISP(B)

MGW MGW MGW MGW

Nignx 1

HTTP Service 01

Thrift Service 1 Thrift Service …

DS.1

Nignx…

HTTP Service.. HTTP Service ..

Nignx N

Thrift Service N

DS.N DS…

Page 19: 美团点评技术沙龙07 - 外卖后端端技术架构

外卖系统稳定性工作设计总结

ü QPS

ü 

ü  SLA ü  ----

ü  ---

ü  ü  ü 

日常运行 事前预管 线上故障处理 事后Review

全链路灰度

分流

Niginx

LVS

MQ

DB

DX

YF

OCTO

CQ

核心流程监控

HLB

LOG

OCTO

压测

运维工具

Tair双机房

MQ双机房

DB双机房

演练

支付不可用

排序不可用

活动不可用

商家接单不可用

限流

QPS配额

扩容

Casestudy

调权

ERROR

用户行为 系统能力

降级、扩容

分流

损失核算

完善业务

降级SOP

Review

完善工具

• 

Page 20: 美团点评技术沙龙07 - 外卖后端端技术架构

外卖体系系统调度实时关系图

+

Page 21: 美团点评技术沙龙07 - 外卖后端端技术架构

谢谢! [email protected] want you