阿里妈妈应用系统大规模异步交互治理方案

阿里妈妈为解决微服务架构下复杂异构系统间的异步调用问题,推出了AMB应用消息总线。AMB提供可视化配置、丰富的流程组件、流程隔离和统一运维监控,极大提升了研发效率和链路稳定性。目前覆盖了大部分异步链路场景,未来将致力于资源利用率的提升和与广告应用中台的集成。
摘要由CSDN通过智能技术生成

阿里妈妈广告应用团队在平台化支撑业务发展的思路下,启动了对应用系统架构、研发模式、组织阵型各个维度的改革和升级,以期通过打造全新的“广告业务平台”来提升应用系统的工程建设能力、沉淀广告业务资产、建设专业的人才梯队、赋能营销业务的创新发展。

其中,业务中心化是推进应用平台化建设最重要的工作之一,我们将广告业务按照领域进行抽象划分,建成了多个业务中心组成的业务平台,每个中心负责该领域的相关业务,多个中心互相配合横向支撑各业务线的需求。业务中心化后,之前单体的推广服务系统变成了微服务架构下的多个业务中心,之前系统内部的调用变成了系统和系统之间的调用,如何管理好由此带来的大量复杂异构系统间的异步调用和通信,是我们亟需抽象和解决问题。

▐  1. 问题分析

在微服务架构下,中心之间为了配合完成复杂的业务,系统和系统之间的“耦合”变的不可避免。系统间的调用方式大体分为同步和异步两类,由于中心对外以HSF(RPC)服务的方式暴漏,故同步调用问题已经很好的由HSF(RPC)中间件解决,因此我们需要重点关注异步交互方式。

应用间使用的异步交互方式一般有两种:一种是采用基于消息队列的异步消息处理(如: Metaq,Notify);另一种是基于数据库的DRC消息变更。举一个异步交互的例子:广告主应用系统和审核系统属于两个不同的领域,团队和人员也是分开的,在系统交互方式上为了避免耦合,大多会采用消息交互这样的方式。比如:一个商品被处罚,审核系统发送处罚消息出来,广告应用系统在接到这个处罚消息之后,需将该商品对应的广告进行下架。

以基于消息队列的方式来搭建异步交互链路为例,我们来看一下发送端和接收端要做的事情:

1) A系统开发消息发送逻辑 

2) B系统引入A系统的数据对象定义(系统之间耦合

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值