王海亚
阿里巴巴技术保障部架构师
天猫交易平台
目录
交易平台演进之路
1
交易平台化架构视图
2
异步化实践
3
2
交易平台化-挑战及方案
系统平台
业务平台
业务接入能力
业务复杂度 = 抽象+知识管理
识别变化
封装变化
拥抱变化
管理变化
系统接入能力
系统复杂度 = 远程+容错+体验
系统监控
优雅降级
弹性保护
异步并行
多终端支撑能力
数据和表达解耦
终端个性化表达
系统平台
3
无线应用
后端
web应用
用户
商品
价格
积分
物流
订单
支付
安全
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
交易平台化-演变及分层
4
交易平台化-演变及分层
数据
服务
应用
表达
wap
iphone
PC
…
Tair
MySQL
NoSQL
…
用户
商品
价格
库存
会员
权益
物流
服务
订单
支付
安全
功能编排
关注
呈现
关注
业务
关注
能力
关注
存储
业务套件
功能组件
功能扩展点
业务规则
业务套件
5
交易平台化-演变及分层
应用
功能编排
数据
服务
表达
wap
iphone
PC
…
Tair
MySQL
NoSQL
…
用户
商品
价格
库存
会员
权益
物流
服务
订单
支付
交易
资格
控制
交易
流程框架
服务-交易领域模型适配
功能套件
功能套件
功能套件
业务
核心
业务DSL
配置化接入
规范化接口
集中化控制
能力定制
核心
领域模型
关注
呈现
关注
领域
关注
规则
关注
能力
关注
存储
6
交易平台化-架构及视图
依赖视图
业务视图
运行视图
领域视图
天猫交易
功能视图
流程视图
数据视图
运维视图
业务架构
系统架构
7
持续优化
领域视图
卖家
商品
买家
1 .卖家
-特征
2. 买家
-权益
-信用
3.商品
-价格
-库存
-服务
4.合同
-订单
-物流
-支付
交易领域模型
合同
持续优化
功能视图
功能视图
动作,比如价格设置、库存获取、订单打标。业务抽象
plugin,识别变化,必要时重构原有设计实现,在变化的地方提供扩展点机制
单元测试覆盖
功能识别
功能扩展
功能测试
9
持续优化
业务视图
上线
识别
逻辑
下线
效果监控
业务代码类聚及知识管理
功能点
拆分
生命周期管理
设计实现
自动化回归测试
插拔式业务套件
10
持续优化
流程视图
处理链
功能编排
功能树
编-自动注入
排-顺序控制
分支
主干
11
持续优化
数据视图
层次化处理
统一数据
多客户端
Feature扩展
输入
基本数据
扩展数据
解析
无业务逻辑的参数识别
终端特性、版本等相关扩展数据映射到feature
处理
功能组件编排实现业务逻辑
Feature影响到处理
输出
无业务逻辑的数据格式转换
Feature控制扩展数据输出
12
持续优化
依赖视图
购物车、下单、订单管理
40多个外部系统,包括缓存等
功能域边界划分
接口语义清晰定义
弱依赖:业务容错,一致性校验
强依赖:前置流控,降级保护
业务异常日志
系统异常日志
全链路监控
buy
接口
容错
监控
外部集群
13
持续优化
运行视图
优化处理Iowait的策略,提高单机吞吐量
并行,减少单个请求的RT,极致接入能力
避免非顺序思考引入编码、调试复杂性
异步servlet
异步RPC
Actor == processor
Interim – inter processor
Instruction weaven – inner processor,自动保存及恢复异步调用时线程栈桢
异步IO
Continuation
passing
style
14
持续优化
系统监控
数据监控
容量保护
集群隔离
智能配置
个性化配置
自动选择性初始化
PC集群
无线集群
…
采集
展现
告警
业务数据
下单来源
…
TmallEye
运维视图
15
异步化背景
16
解决思路
方案
新的挑战
目标
在不影响业务逻辑的基础上,尽量通过并行调用减少请求链路执行时间
在不影响吞吐量的基础上,尽量减少线程数,减少上下文切换成本
并行、异步
引入新的并行异步模式,不提升开发的实现成本
17
线程执行视角
同步,线程执行序列
异步,任务/线程执行序列
异步并行框架
19
高效的执行引擎
单机极限处理能力提升
不影响极限处理能力情况下,响应时间减少
异步
框架
并行
引擎
开发期同步串行,不增加开发、测试、调试的复杂性
运行期同步串行、异步串行、异步并行三种运行模式
20
在路上-各种各样的坑
21