通过本教程的操作,您可以通过阿里云控制台,在事件总线控制台中创建消息路由服务,在 EventBridge 控制台实现消息路由与简单的消息脱敏。
背景知识
本场景主要涉及以下云产品和服务:
事件总线EventBridge是阿里云提供的一款无服务器事件总线服务,支持阿里云服务、自定义应用、SaaS应用以标准化、中心化的方式接入,并能够以标准化的CloudEvents 1.0协议在这些应用之间路由事件,帮助您轻松构建松耦合、分布式的事件驱动架构。
消息队列 RabbitMQ 版支持 AMQP 协议,完全兼容 RabbitMQ 开源生态以及多语言客户端,打造分布式、高吞吐、低延迟、高可扩展的云消息服务。开箱即用,用户无需部署免运维,轻松实现快速上云,阿里云提供全托管服务,更专业、更可靠、更安全。
阿里云消息服务 MNS 是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息通知服务。MNS能够帮助应用开发者在他们应用的分布式组件上自由的传递数据、通知消息,构建松耦合系统。
场景描述
企业数字化转型过程中,天然会遇到消息路由,异地多活,协议适配,消息备份等场景。
- 消息路由场景:
该场景是指希望对消息进行二次分发,通过简单过滤或者筛选将消息分发到其他Topic或跨地域Topic,实现消息共享&消息脱敏的场景。
通过一层转发将消息分发给不同的Topic消费,是消息路由的核心能力。随着企业转型遇到消息拆分且做业务脱敏的场景会越来越多。如下图是一个较为典型的路由分流场景。
- 消息多活场景:
指每个数据中心均部署了完整、独立的 MQ 集群。数据中心内的应用服务只连接本地的 MQ 集群,不连接其他单元的 MQ 集群。MQ 集群中包含的消息路由模块,负责在不同单元 MQ 集群之间同步指定主题的消息。
根据应用服务是否具有单元化能力,可分为中心服务和单元服务两类。中心服务只在一个数据中心提供服务;单元服务在各个数据中心都提供服务,但只负责符合规则的部分用户,而非全量用户。
所有部署了单元服务的数据中心都是一个单元,所有单元的单元服务同时对外提供服务,从而形成一个异地多活架构或者叫单元化架构。通过多活管控平台可动态调整各个单元服务负责的流量。
- 多协议适配场景:
随着业务团队的逐渐庞大,对消息的建设诉求与日俱增,由于部门技术栈的不同会导致部门间的消息协议也不尽相同。多协议适配是指用一种消息协议平滑迁移到多种消息协议的能力。
架构描述
本次实验将使用 EventBridge 的事件流能力做消息路由,事件流模型 是 EventBridge 在消息领域主打的处理模型,适用标准 Streaming(1:1) 流式处理场景,无总线概念。用于端到端的消息路由,消息转储,消息同步及处理等,帮助开发者轻松构建云上数据管道服务。
本次实验将介绍如何通过桥接 EventBridge 实现MNS 消息路由至 RabbitMQ Queues, MNS Queues。(A/B 链路任选其一进行试验)