到店供应链及商品平台建设实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 到店供应链及商品平台建设实践
高尚 2021.7
到店平台技术部
2. 自我介绍
高尚
美团研究员,2012年加入美团,先后参
与过开放平台、营销活动平台、丽人业
务、到店平台化建设。
2
3. 大纲
• 到店商品业务介绍
• 平台化思考与实践
• 未来规划
3
4. 大纲
• 到店商品业务介绍
•
商品及供应链行业特征、链路介绍
• 平台化思考与实践
• 未来规划
4
5. 到店商品业务-商品
行业细分
×
餐饮、酒店、门票、周边游、休
闲娱乐、丽人、医美…
餐饮套餐/代金券/买单
休娱剧本杀预订/团购
休娱KTV预订
产品丰富
团购、预订、买单、虚拟商品…
门票预订
酒店预订
医美预付/拼团
5
6. 到店商品业务-供应链
酒店供应链
门票供应链
餐饮团购供应链
休娱预订供应链
…供应链
6
7. 到店商品业务-特征分析
供应链特征
商品特征
服务(时间,空间,使用权)
酒店房型
KTV房间、剧本
门票票种
X
绑定于
服务表达
服务商
经营主体
消费者
信息流
分销商
代理方
适用于
POI
提供自
商品
管理自
需求方
资金流
客户
BD
7
8. 到店商品业务-核心链路
商品跨供给、导购、交易链路
供应链聚焦供给链路
新建、复制,暂存
商品上单
BD
上下架、改价、调库存…
供给链路
BDM/运营
信息、佣金、价格…
审核
内容拼接、属性计算…
发布
打标,ranking…
商品维护
搜索/推荐
聚合查询
商家/代理商
商品详情
列表查询
POI货架
券码、凭证、接单…
发货
预支付、支付回调…
支付
填单、提单
用户
导购链路
下单
交易链路
8
9. 大纲
• 到店商品业务介绍
• 平台化思考与实践
•
•
•
挑战、路径思考、建设思路
模型、供给流程、查询
保障、平滑迁移
• 未来规划
9
10. 平台化实践-挑战
涉及范围 协作障碍 约束
业务多,系统多,数据量大 多团队,跨地域 需求迭代频繁
基础设施不统一 质量风险高
非标,差异大
整体策略: 新建平台,业务优先,平滑迁移,持续演进
10
11. 平台化实践-路径思考
通用功能
可扩展基础能力
业务能力
11
12. 平台化实践-建设思路
前端
1.统一概念
2.统一基础设施
3.分层分治,自底向上
列表/详情
填单页
业务主导
交互层 供应链交互 C端展示 下单交互
聚合层 供给流程 查询 售卖
扩展点
扩展点、编排
领域层
4.标准化抽象
表单/表格
供应链模型
存储层
平台主导
商品模型
扩展模型
扩展模型
5.差异化扩展
扩展点
持久化数据
持久化数据
扩展字段
扩展字段
策略
架构
12
13. 平台化实践-模型(1/4)
• 到店业务商品复杂度
商品种类
玩法
打包
实物
团购
<品类, SPU,SKU,属性,…>
生活服务
预订
OTA
<时间,空间,物品> <时间,空间,物品,供应商,R ,R ,…>
1
2
商品占有权 商品使用权
属性关系复杂 售卖相关规则复杂
分销
X
预售
搭售
多售卖方式
…
13
14. 平台化实践-模型(2/4)
• 模型定义
• 标准vs扩展
扩展模型
KV扩展
自定义属性
配置式
行扩展
自定义模型
声明式
宽表扩展
自定义规则
14
15. 平台化实践-模型(3/4)
• Product,SKU如何划分
实物电商
SKU
(型号…)
Product
(名称、供应商…)
• 本质是决定展示与价格的属性划分
• 取决于行业标准与技术实现
团购
酒店预订
门票预订
KTV预订
剧本杀预订
Product/SKU
(名称、客户、门店...)
Product/SKU
(名称、客户、房型…)
Product
(名称、客户、票种…)
动态参数
(日期…)
SKU
(票档…)
Product/SKU
(名称、客户、包房…)
Product
(名称、客户、剧本…)
动态参数
(日期)
动态参数
(日期...)
SKU
(场次…)
动态参数
(日期)
15
16. 平台化实践-模型(4/4)
• 时间因素如何定义:
1
2
3
…
n
t
周一 周二 周三 周四 周五 周六 周日
不限
周循环
日期区间
日循环
日历
日期时段
Span
Plan
16
17. 平台化实践-供给流程(1/5)
• 覆盖B端上单、维护
上单 调价 维护包间 打包商品 提报上单
创建商品 设置价格 修改包间 选品 上游上单
提审 提审 提审 关联主子商品 设置提报范围
发布 发布 发布 提审 商家选择
发布 创建商品并关联
• 数据写密集场景
• 行业&组织架构差异
上游确认
17
18. 平台化实践-供给流程(2/5)
• 架构:
插件化:解耦共性与个性
开发隔离
CQRS:解耦流程写入与检索查询
集成运行
上单提交
酒店业务代码
repo
门票业务代码
repo
餐饮业务代码
repo
平台代码repo
制作服务
审核服务
发布服务
检索服务
Query
Command
酒店插件包(bizcode=hotel) 接口写模型
门票插件包(bizcode=ticket) 转入
餐饮插件包(bizcode=food)
查询检索
接口读模型
转出
领域模型
ES查询描述
MQ增量构建
搜索索引
领域服务
统一存储
摘要拉取
18
19. 平台化实践-供给流程(3/5)
• 业务定制:服务扩展点,多环节编排
19
20. 平台化实践-供给流程(4/5)
制作、审核
• 供给流程中的商品ACID如何保障?
•
商家
发布锁:
• 多粒度、时机可控、可重入、公平/非公平
• 版本控制
• 编审过程可见性隔离
• 补偿机制
发布
流程1:库存=20,价格=100
BD
流程2:库存=10,价格=50
基本信息
商品
价格
库存
运营
流程3:库存=50,价格=80
流程1:
M
V 1
V 2
A
M
V 2
V 3
P
商品V 2
商品V 1
流程2:
V 2
A
❌
商品V 3
V 3
P
20
21. 平台化实践-供给流程(5/5)
• 补偿机制
• 最大努力重试+SAGA组合
• 执行策略:Redo/Undo,Fix/Rollback,Clean
• 调度策略:串行/并行,归并、优先级、淘汰
• 分业务差异化策略,指标大盘
21
22. 平台化实践-查询(1/4)
• 商品查询体系
• 标准化查询:隔离B/C端,隔离浏览/交易
• 自定义查询:自定义DB存储,自定义缓存
• 高可用:压缩,分桶,按需查询,限流限量
应对业务多样化查询诉求
22
23. 平台化实践-查询(2/4)
• 自定义查询
• 业务自定义接口:执行查询逻辑,接口注册到平台,不直接提供服务。
• 平台泛化接口:对外提供服务,请求分发到业务自定义接口。
业务方
选型 方案简述
适用性
扩展性
监控
GraphQL 通过自定义
Schema
实现灵活查询 案例有限 好 自建
Thrift
泛化调用 对接口元信息序
列化与反序列化 美团
技术栈 服务端发布 自带
自研 平台标准API
分发请求到插件
包处理
1
10
发起自定义查询调用
Thrift+BPF
到店内统一
注册机制
动态扩展
部分自建
业务插件包
1. 反序列化返回对象
2. 转换为原始业务对象
1. 反序列化为原始参数 5
2. 反射获取目标方法
3. 本地调用自定义查询
ThriftFilter
2
1. 参数序列化
2. 转换为公共API
4
调用扩展点
解析通用返回对象
Client
1. 序列化返回对象
2. 转换为通用返回对象
平台查询服务
9
ThriftClient
6
3 代理访问,泛化调用
8 调用返回
7
通用返回对象
ThriftServer
Server
23
24. 平台化实践-查询(3/4)
• 自定义DB存储:元数据引擎
• 借鉴Salesforce多租户存储,灵活支撑业务持久化存储与查询场景
• 支持自定义schema,扩展结构化属性,应用物化视图
• 支持标准jdbc协议,可解耦物理存储设施
SDK
JOOQ Zebra-dao Driver
SQL Parser AST Meta Query
Server
Query
Rewrite
Storage
Object
Index
Response
Rewrite
Query Plan
Field
Metadata tables
Index
Data
Manager
Data
Data tables
24
25. 平台化实践-查询(4/4)
• 自定义缓存:自研关系表缓存
• 灵活支撑业务缓存预计算、更新与查询场景
• 分布式架构:proxy server+data server(主从模式)
• MQL(类SQL),自定义schema,视图,存储过程
缓存 点查 范围查 条件过滤 结构化
关系表 支持 支持 支持 是
KV 支持 不支持 不支持 否
25
26. 平台化实践-保障
区分业务
自助化
专项保障
• 开发部署隔离 • 定位排查工具 • DB/缓存热点防范
• 分业务特征用例 • 数据修复工具 • 大对象防范
• 分业务监控告警 • 应急预案 • 跨机房延迟、DB主从延迟
• 分业务容量规划 • 审批工作流,可回滚 • 数据一致性
• 分业务特征限流降级 • 可授权,可审计 • 链路优化:放大、依赖
26
27. 平台化实践-平滑迁移
业务商品中心
X
业务供应链
上单
展示查询
diff
流量双写,数据迁移
diff
制作
审核
发布
供应链平台
发布
X 业务交易
下单 退款
流量双读
查询
流量双写
售卖
购买
售后
履约
交易平台
商品平台
流量切换
数据迁移
UNITY
迁移中心
27
28. 大纲
• 到店商品业务介绍
• 平台化思考与实践
• 未来规划
28
29. 未来规划
业务赋能导向
能力完善
技术创新驱动
体验优化
生态构建
29
30.
31. 招聘:后台/系统方向高级工程师
邮箱:liyuwei09@meituan.com
更多技术干货
欢迎关注“美团技术团队”