- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AliSQL在零售云平台实践
阿里巴巴高级技术专家
顾风胜
1
零售云介绍
2
数据同步服务
3
全链路压测服务
云服务器
云数据库
对象存储
分布缓存
消息服务
负载均衡
···
ERP
S-PaaS
业务全链路压测
业务运维工作台
业务全链路监控
业务安全和防护
WMS
绩效
T-PaaS
电商级别业务稳定性
B-PaaS
电商级别业务灵活性
Aliware
奇门
淘宝开放平台
电商级别门店数字颗粒度
C-PaaS
零售服务能力开放
IaaS
(基础设施云产品)
PaaS
(中台构建业务组件)
SaaS
(官方应用服务市场)
电商 SaaS 产品
CRM
云中台
云POS
零售 SaaS 产品
云导购 云客流
云互动
云客服
营销
手淘开放
硬件框架
千牛框架
品牌营销定制
物流中心
账务中心
品牌号定制
发票中心
营销中心
···
订单中心
会员中心
智能导购
智能客流
D-PaaS
电商级别数据能力
智能互动
数据中心
云POS组件
数据银行
导购员组件
策略中心
···
零售云产品架构
阿里内网
聚石塔电商云
安全
可靠
实时
聚合
定制
订单
商品
会员
物流
优惠
……
阿里中台
会员
交易
仓储
财务
商品
……
商家
服务商
零售云数据同步诉求
会员
商品
交易
……
数据层
消息系统
全量API
增量API
详情API
业务API
API 网关
开放平台
会员中心
商品中心
交易中心
业务中台
……
会员
CRM
订单
OMS
智能
POS
仓储
WMS
……
APP
全量初始化
增量更新
实时更新
为什么不用API同步
分页处理不当引起数据不一致
热点数据查询DB超时
交易异地多活,DB同步延迟
大促交易接口限流
技术成本高,重复建设
订单延迟,丢单
消息通道
变更消息
变更消息
业务中台
开放平台
服务商系统
阿里内网
零售云
业务数据
业务系统
开放平台
同步服务
中间表
ISV应用
业务表
零售云数据同步解决方案
API网关
阿
里
内
网
零
售
云
业务表
控制台
推送服务端
ISV服务端
RDS Proxy
数据分发
RDS推送
RDS推送
推送消息服务
云通道
RDS 中间表
RDS 中间表
对账任务
业务
中台
全量详情
零售云数据同步整体架构
推送消息服务端
接收订单变更消息
获取交易全量详情
数据推送路由
云通道
内外双向的RPC通讯
数据分发
订单数据分发
RDS推送
负责RDS数据写入
API网关
对账任务
稳定、易用、低成本
名称
类型
是否索引
说明
tid
NUMBER
Y
交易ID
status
VARCHAR
Y
交易状态
type
VARCHAR
Y
交易类型
seller_nick
VARCHAR
Y
卖家昵称
buyer_nick
VARCHAR
买家昵称
created
DATETIME
Y
交易创建时间
modified
DATETIME
Y
交易修改时间
jdp_created
DATETIME
Y
数据入库时间
jdp_modified
DATETIME
Y
数据最后修改时间
jdp_hashcode
VARCHAR
用来做数据校验的字段
jdp_response
MEDIUMTEXT
API返回的整个JSON BODY
关键字段
系统字段
大字段
关键字段
业务核心字段,用于查询过滤
系统字段
jdp_modified避免分页查询漏单
jdp_hashcode乐观锁,减少DB操作
大字段
详情API返回数据(JSON)
后台配置需要返回的字段
只需要一份SqlMap
避免DDL锁表影响业务
RDS推送库与中间表设计
RDS
推
送
库
推送
连接
池
业
务
库
业务
连接
池
必要性
■ RDS规格普遍比较低,给到平台的连接数有限(只有120)
■
平台与客户共用RDS,需要尽量少占用RDS的资源
写入
查询
• 只查询需要用到的数据
• 批量查询DB进行对账
删除
• 分片删除以缩小区域锁
• 凌晨删除避免影响业务
优化后减少了90%的DB消耗
是否新增消息
尝试更新数据
new.modified
sql.modified
尝试更新数据
记录是否存在
new.hashcode =
old.hashcode
结束
如何降低RDS写入开销
开始
否
否
是
否
是,没有冲突
写入成功
是
是
否
尝试插入数据
写入成功
否
查询该记录在DB中的
modified hashcode
是
是
否,并发更新冲突
尝试插入数据
否,则重试3次
1• 区分创建和更新事件
2• 不查询老数据直接更新
3• 数据内容相同不
文档评论(0)