#阿里巴巴集团#面对万人世界军人运动会票务,阿里文娱 Dpath 如何保障稳定性?

#阿里巴巴集团#面对万人世界军人运动会票务,阿里文娱 Dpath 如何保障稳定性?
本文插图

作者| 阿里文娱技术专家 司楚
责编 | 夕颜
出品 | CSDN(ID:CSDNnews)
#阿里巴巴集团#面对万人世界军人运动会票务,阿里文娱 Dpath 如何保障稳定性?
本文插图

背景
第七届世界军人运动会是中国第一次承办综合性国际军事赛事 , 有 100 多个国家、一万多现役军人参与竞技 。 武汉军运会票务系统建设和票务运营由大麦网承接 , 使用阿里集团基础技术能力 , 通过大麦麦座票务系统提供票务管理、售卖和现场换验服务 。
大麦麦座票务系统(简称“麦座”)定位于现场娱乐的一站式行业服务平台 , 结合阿里的大 数据、云计算等能力 , 为场馆向数字化、智能化的升级提供行业解决方案 。 麦座基础架构经历 了从单机软件部署到阿里云的商户独立部署 , 再到 SaaS 化的演进过程 。
目前麦座系统利用阿里巴巴的 pouch 容器 , 采用微服务的架构 , 为大量商户提供统一的服 务 。 多用户共享服务的架构 , 实现了资源利用的最大化 , 方便版本的统一维护和升级 。 当承载军运会等大型赛事 , 或者面对头部 KA 客户时 , 从安全、稳定性角度考虑 , 需要做独立部署和流量隔离 , 从而避免突发流量影响到 KA 客户 。
#阿里巴巴集团#面对万人世界军人运动会票务,阿里文娱 Dpath 如何保障稳定性?
本文插图

目标
针对军运会的场景 , 我们需要满足:独立部署、流量隔离 。 在满足独立部署和流量隔离的 基础上 , 需要满足:

  1. 对开发尽量透明:尽可能少的定制和代码侵入 , 对开发透明 , 不能因为独立部署增加额 外的开发和运维成本;
  2. 独立部署的容器与普通分组的容器完全等价 , 且可以动态的切流:某个环境宕机的极端 情况下 , 能够快速切换 , 保证业务正常运行 。

#阿里巴巴集团#面对万人世界军人运动会票务,阿里文娱 Dpath 如何保障稳定性?
本文插图

【#阿里巴巴集团#面对万人世界军人运动会票务,阿里文娱 Dpath 如何保障稳定性?】方案选型
为了实现独立部署和流程隔离的目标 , 同时支持动态切流 , 我们调研了 单元化、独立应用、 环境配置项、通过流量打标进行路由的方式 。
单元化
独立应用
环境配置项
流量标路由
介绍
独立机房部署 , 通过域
单独的应用和代码库 ,
同一个应用和代码库 , 独
根据商户信息 , 对流量打
名等信息进行路由;可
可实现多版本的共存 ,
立的分组 , 对应独立的配
标 。 RPC 调用、消息队列
动态切流;实现了存储
无法代码复用
置项 。 通 过配 置 项维护
等根据打标信息进行路
隔离和异地容灾
RPC 版本号等信息 , 实现
由 , 形成分组的隔离
隔离
部署成本
需要独 立的单 元 化 环
独立应用需要测试、预
申请独立的分组 , 成本低
申请独立的分组 , 成本低
境 , 成本高
发、线上环境 , 成本偏

开发成本
对代码无侵入 , 成本低
维护多套代码 , 成本高
新增配置 时需 要 修改多 套配置项 , 成本偏高
RPC、消息队列等中间件 支持 , 对开发完全透明
通 过 对 四个方 案的 比较 ,我们 最终选 择流 量打标 路由 的方式。 阿 里巴巴 中 间 件 Dpath(Dedicated path) , 在请求中添加流量标识 , 通过 Diamond(持久配置管理中间件)把 Dpath 的打标规则 , 推送到各个应用容器 。 RPC、消息队列等中间件根据流量标和 Dpath 规则 , 进行 路由 , 选择相应的应用分组 。


推荐阅读