鄂州手机网站建设,新能源汽车价格表3万左右,泉州seo优化,WordPress divi字体简介#xff1a;企业数字化转型过程中#xff0c;天然会遇到消息路由#xff0c;异地多活#xff0c;协议适配#xff0c;消息备份等场景。本篇主要通过 EventBridge 消息路由的应用场景和应用实验介绍#xff0c;帮助大家了解如何通过 EventBridge 的消息路由高效构建消…简介企业数字化转型过程中天然会遇到消息路由异地多活协议适配消息备份等场景。本篇主要通过 EventBridge 消息路由的应用场景和应用实验介绍帮助大家了解如何通过 EventBridge 的消息路由高效构建消息路由能力。
作者肯梦
企业数字化转型过程中天然会遇到消息路由异地多活协议适配消息备份等场景。本篇主要通过 EventBridge 消息路由的应用场景和应用实验介绍帮助大家了解如何通过 EventBridge 的消息路由高效构建消息路由能力。
背景知识
EventBridge 消息路由主要涉及以下云产品和服务
事件总线 EventBridge
事件总线 EventBridge 是阿里云提供的一款无服务器事件总线服务支持阿里云服务、自定义应用、SaaS 应用以标准化、中心化的方式接入并能够以标准化的 CloudEvents 1.0 协议在这些应用之间路由事件帮助您轻松构建松耦合、分布式的事件驱动架构。
消息队列 RabbitMQ 版
阿里云消息队列 RabbitMQ 版支持 AMQP 协议完全兼容 RabbitMQ 开源生态以及多语言客户端打造分布式、高吞吐、低延迟、高可扩展的云消息服务。开箱即用用户无需部署免运维轻松实现快速上云阿里云提供全托管服务更专业、更可靠、更安全。
消息队列 MNS 版
阿里云消息服务 MNS 版是一款高效、可靠、安全、便捷、可弹性扩展的分布式消息通知服务。MNS 能够帮助应用开发者在他们应用的分布式组件上自由的传递数据、通知消息构建松耦合系统。
场景应用
EventBridge 消息路由功能在构建在构建消息系统过程中主要应用于下面三个场景一是消息路由场景二是消息多活场景三是多协议适配场景下面对这三个场景进行简要介绍。
消息路由场景
该场景是指希望对消息进行二次分发通过简单过滤或者筛选将消息分发到其他 Topic 或跨地域 Topic实现消息共享 消息脱敏的场景。
通过一层转发将消息分发给不同的 Topic 消费是消息路由的核心能力。随着企业转型遇到消息拆分且做业务脱敏的场景会越来越多。如下图是一个较为典型的路由分流场景。 消息多活场景
消息多活场景指每个数据中心均部署了完整、独立的 MQ 集群。数据中心内的应用服务只连接本地的 MQ 集群不连接其他单元的 MQ 集群。MQ 集群中包含的消息路由模块负责在不同单元 MQ 集群之间同步指定主题的消息。
根据应用服务是否具有单元化能力可分为中心服务和单元服务两类。中心服务只在一个数据中心提供服务单元服务在各个数据中心都提供服务但只负责符合规则的部分用户而非全量用户。
所有部署了单元服务的数据中心都是一个单元所有单元的单元服务同时对外提供服务从而形成一个异地多活架构或者叫单元化架构。通过多活管控平台可动态调整各个单元服务负责的流量。 多协议适配场景
随着业务团队的逐渐庞大对消息的建设诉求与日俱增由于部门技术栈的不同会导致部门间的消息协议也不尽相同。多协议适配是指用一种消息协议平滑迁移到多种消息协议的能力。 架构描述
使用 EventBridge 的事件流能力做消息路由事件流模型是 EventBridge 在消息领域主打的处理模型适用标准 Streaming1:1流式处理场景无总线概念。用于端到端的消息路由消息转储消息同步及处理等帮助开发者轻松构建云上数据管道服务。
下面的架构展示了如何通过桥接 EventBridge 实现 MNS 消息路由至 RabbitMQ QueuesMNS Queues。A/B 链路任选其一进行试验 应用实验
目标
通过本实验教程的操作您可以通过阿里云控制台在事件总线控制台中创建消息路由服务在 EventBridge 控制台实现消息路由与简单的消息脱敏。
体验此实验后可以掌握的知识有
创建消息路由任务创建 RabbitMQ 实例、MNS 实例与简单的消息发送。
资源
使用到的资源如下本次实验资源遵循最小原则使用满足场景需求的最小化资源
资源一EventBridge 事件总线资源二阿里云消息队列 RabbitMQ 版资源三阿里云消息队列 MNS 版
步骤
1创建 MNS 资源 本实验分 A /B 两个可选场景
A 、场景通过 MNS Queues1 投递至 MNS Queues2 B 、场景通过 MNS Queues1 投递至 RabbitMQ Queues
可根据兴趣选择不同场景。
本步骤将指导您如何通过控制台创建消息队列 MNS 版。
使用您自己的阿里云账号登录阿里云控制台然后访问消息队列MNS版控制台。[1]
在控制台左边导航栏中单击队列列表。资源地域为同地域即可本次引导默认选杭州 在列表页面单击创建队列并填写名称信息“test-mns-q” 创建完成后点击“详情” 找到 MNS 公网接入点信息并记住该信息后续实验会用到。
E.g.http://1825725063814405.mns.cn-hangzhou.aliyuncs.com 注意重复如上步骤即可创建 A 实验链路的 “test-mns-q2” 2创建 RabbitMQ 资源B 实验可选
本步骤将指导您如何通过控制台创建消息队列 RabbitMQ 版。
使用您自己的阿里云账号登录阿里云控制台然后访问消息队列RabbitMQ版控制台。[2]
在控制台左边导航栏中单击实例列表。资源地域为同地域即可本次引导默认选杭州 在列表页面单击创建实例并完成创建。 创建完成后点击详情进入实例详情页 在“Vhost 列表” 创建 “test-amqp-v” 在“Queue 列表” 选择 Vhost 为“test-amqp-v”并创建 “test-amqp-q” 3创建 EventBridge 事件流任务 - MNS TO MNSA 实验可选
本步骤将指导您如何通过控制台创建 EventBridge 事件流。
使用您自己的阿里云账号登录阿里云控制台然后访问 EventBridge 控制台。[3]
注第一次使用需开通。
单击“事件流”列表并在列表创建任务 资源地域为同地域即可本次引导默认选杭州 创建事件流名称为“test-amqp-mns2mns”点击下一步 指定事件源事件提供方为“消息服务 MNS”队列名称为“test-mns-q”点击下一步 指定规则规则部分可不做筛选默认匹配全部直接点击下一步
注意规则内容可根据需求自行指定为降低难度本次实验默认投递全部更多详情请查阅
事件模式 - 事件总线EventBridge - 阿里云 服务类型选择“消息服务 MNS”队列名称选择“test-mns-q2”消息内容选择“部分事件”点击创建
注意消息内容可根据需求自行指定本次实验默认投递 data 字段更多详情请查阅
事件内容转换 - 事件总线EventBridge - 阿里云 创建完成后可点击“启动”来启动事件流 4创建 EventBridge 事件流任务 - MNS TO RabbitMQB 实验可选
本步骤将指导您如何通过控制台创建 EventBridge 事件流。
使用您自己的阿里云账号登录阿里云控制台然后访问 EventBridge 控制台。[3]注第一次使用需开通。
单击“事件流”列表并在列表创建任务 资源地域为同地域即可本次引导默认选杭州 创建事件流名称为“test-amqp-mns2rabbitmq”点击下一步 指定事件源事件提供方为“消息服务 MNS”队列名称为“test-mns-q”点击下一步 指定规则规则部分可不做筛选默认匹配全部直接点击下一步
注意规则内容可根据需求自行指定为降低难度本次实验默认投递全部更多详情请查阅
事件模式 - 事件总线EventBridge - 阿里云 服务类型选择“消息队列 RabbitMQ 版本”具体配置如下点击创建
实例ID选择创建好的RabbitMQ ID
Vhost选择“test-amqp-v”
目标类型选择“Queue”
Queue选择“test-amqp-q”
Body选择“部分事件”填写“$.data”
MessageId选择“常量”填写“0”
Properties选择“部分事件”填写“$.source”
注意消息内容可根据需求自行指定本次实验默认投递 data 字段更多详情请查阅
事件内容转换 - 事件总线EventBridge - 阿里云 创建完成后可点击“启动”来启动事件流
5验证路由任务
向 MNS Source “test-mns-q ” 发送实验消息 点击下载 MNS SDK[4]
修改 sample.cfg 在 “sample.cfg ” 填写 AccessKeyIdAccessKeySecretEndpoint 等信息
AccessKeyIdAccessKeySecret 可在阿里云 RAM 控制台[5]创建
Endpoint 即步骤 1 MNS 公网接入点地址 AccessKeyId LTAI5t96yU2S2E84BYsNNQ33
AccessKeySecret xxxxxxx
Endpoint http://1825725063814405.mns.cn-hangzhou.aliyuncs.com
填完效果如下保存 找到 sample 目录的“sendmessage.py” 示例 将循环参数调整为 200并保存 (可选) 保存并运行 “python sendmessage.py test-mns-q”
python sendmessage.py test-mns-q在事件流控制台[6]分别点开 “test-mns-q2” “test-amqp-q” 查看详情转储详情。
注意MNS Q 仅支持单订阅不支持广播模式。故该测试需要将 MNS/RabbitMQ 两个实验任选其一关停后进行实验。
如需广播模式请创建 MNS Topic 资源。 A 链路实验结果 B 链路实验结果 优势及总结
EventBridge 事件流提供端到端的消息路由能力通过简单配置即可完成消息分发消息同步跨地域消息备份跨产品消息同步等能力。具有运维简单成本低效率高使用稳定等优势。同时使用 EventBridge 可以实现基础的数据过滤数据脱敏等数据处理类能力。是消息路由场景下运维成本最低的解决方案。
原文链接
本文为阿里云原创内容未经允许不得转载。