- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
王海亚
阿里巴巴技术保障部架构师
天猫交易平台
目录
交易平台演进之路
1
交易平台化架构视图
2
异步化实践
3
交易平台化-挑战及方案
业务接入能力
业务复杂度=抽象+知识管理
识别变化
封装变化
拥抱变化
管理变化
系统接入能力
系统复杂度=远程+容错+体验
系统监控
优雅降级
弹性保护
异步并行
多终端支撑能力
数据和表达解耦
终端个性化表达
无线应用
后端
web应用
用户
商品
价格
积分
物流
订单
支付
安全
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
业务规则
交易平台化-演变及分层
交易平台化-演变及分层
数据
服务
应用
表达
wap
iphone
PC
…
Tair
MySQL
NoSQL
…
用户
商品
价格
库存
会员
权益
物流
服务
订单
支付
安全
功能编排
关注
呈现
关注
业务
关注
能力
关注
存储
业务套件
功能组件
功能扩展点
业务规则
业务套件
交易平台化-演变及分层
应用
功能编排
数据
服务
表达
wap
iphone
PC
…
Tair
MySQL
NoSQL
…
用户
商品
价格
库存
会员
权益
物流
服务
订单
支付
交易
资格
控制
交易
流程框架
服务-交易领域模型适配
功能套件
功能套件
功能套件
业务
核心
业务DSL
配置化接入
规范化接口
集中化控制
能力定制
核心
领域模型
关注
呈现
关注
领域
关注
规则
关注
能力
关注
存储
交易平台化-架构及视图
依赖视图
业务视图
运行视图
领域视图
天猫交易
功能视图
流程视图
数据视图
运维视图
业务架构
系统架构
持续优化
领域视图
卖家
商品
买家
1.卖家
-特征
2.买家
-权益
-信用
3.商品
-价格
-库存
-服务
4.合同
-订单
-物流
-支付
交易领域模型
合同
持续优化
功能视图
功能视图
动作,比如价格设置、库存获取、订单打标。业务抽象
plugin,识别变化,必要时重构原有设计实现,在变化的地方提供扩展点机制
单元测试覆盖
功能识别
功能扩展
功能测试
持续优化
业务视图
上线
识别
逻辑
下线
效果监控
业务代码类聚及知识管理
功能点拆分
生命周期管理
设计实现
自动化回归测试
插拔式业务套件
持续优化
流程视图
处理链
功能编排
功能树
编-自动注入
排-顺序控制
分支
主干
持续优化
数据视图
层次化处理
统一数据
多客户端
Feature扩展
输入
基本数据
扩展数据
解析
无业务逻辑的参数识别
终端特性、版本等相关扩展数据映射到feature
处理
功能组件编排实现业务逻辑
Feature影响到处理
输出
无业务逻辑的数据格式转换
Feature控制扩展数据输出
持续优化
依赖视图
购物车、下单、订单管理
40多个外部系统,包括缓存等
功能域边界划分
接口语义清晰定义
弱依赖:后置流控,业务容错,
一致性校验
强依赖:前置流控,降级保护
业务异常日志
系统异常日志
Tmallbuy
接口
容错
监控
持续优化
运行视图
优化处理Iowait的策略,提高单机吞吐量
并行,减少单个请求的RT,极致接入能力
避免非顺序思考引入编码、调试复杂性
异步servlet
异步RPC
Actor==processor
Interim–interprocessor
Instructionweaven–innerprocessor,自动保存及恢复异步调用时线程栈桢
异步IO
Continuation
passing
style
持续优化
系统监控
数据监控
容量保护
集群隔离
智能配置
个性化配置
自动选择性初始化
PC集群
无线集群
…
采集
展现
告警
业务数据
下单来源
…
TmallEye
运维视图
异步化背景
场景
外部服务系统多
不同业务执行路径不一样
一个复合请求可能包括多个执行路径
不同执行路径的请求在一个容器内做履行
一个容器内的线程数是有限的
问题
一个请求的执行链路长,RT也随之变长
线程数量多时,系统成本高
一个后端服务异常,拖累前端应用
解决思路
方案
新的挑战
目标
在不影响业务逻辑的基础上,尽量通过并行调用减少请求链路执行时间
在不影响吞吐量的基础上,尽量减少线程数,减少上下文切换成本
并行、异步
引入新的并行异步模式,不提升开发的实现成本
线程执行视角
同步,线程执行序列
异步,任务/线程执行序列
异步并行框架
高效的执行引擎
单机极限处理能力提升
不影响极限处理能力情况下,响应时间减少
异步
框架
并行
引擎
开发期同步串行,不增加开发、测试、调试
文档评论(0)