我们是不是需要维护每个订阅将具有唯一的 EventType 或者多个订阅可以在 Azure EventGrid 域中具有相同的 EventType

Posted

技术标签:

【中文标题】我们是不是需要维护每个订阅将具有唯一的 EventType 或者多个订阅可以在 Azure EventGrid 域中具有相同的 EventType【英文标题】:Do we need to maintain Each subscription will have unique EventType Or Multiple subscription can have same EventType in Azure EventGrid Domain我们是否需要维护每个订阅将具有唯一的 EventType 或者多个订阅可以在 Azure EventGrid 域中具有相同的 EventType 【发布时间】:2021-08-23 08:07:38 【问题描述】:

我在我的项目中使用 EventGrid 域, 我创建了一个主题名称“AccountService”和 创建了 2 个订阅(使用了 WebHook 端点) SubscriptionName:CR_Account 和 EventType:CreateAccount 和 Endpoint:Endpoint1 和 SubscriptionName:UP_Account 和 EventType:UpdateAccount 和 Endpoint:Endpoint2

我担心我可以再创建一个订阅 SubscriptionName:CRNew_Account 和 EventType:UpdateAccount 和 Endpoint:Endpoint3

这样当 EventGrid 接收到 Event 时,它必须触发两个订阅(这里是“CR_Account”和“CRNew_Account”)

【问题讨论】:

为了仔细检查,您的订阅 CRNew_Account 是为 EventTpe 创建的:UpdateAccount? 对不起,CRNew_Account 有 EventType CreateAccount 我的要求是发布者需要将相同的数据发送到两个不同的端点,所以我创建了两个具有相同 EventType 的订阅 【参考方案1】:

AEG 支持 Fan-Out 模式,其中主题事件消息被多播到其所有订阅的订阅,并根据它们的过滤,以可靠的方式将事件消息传递到目标端点.

在您的情况下,两个订阅(例如 CR_AccountCRNew_Account)对 EventType CreateAccount 进行过滤将收到相同的主题事件消息。

【讨论】:

以上是关于我们是不是需要维护每个订阅将具有唯一的 EventType 或者多个订阅可以在 Azure EventGrid 域中具有相同的 EventType的主要内容,如果未能解决你的问题,请参考以下文章

使用具有多个订阅的 Laravel Cashier

Solidity极简入门#12. 事件

如何将数据库与微服务(和新的)同步?

如何维护多个Frame和多个相应对象之间的数据绑定?

发布+订阅 event事件

维护 NDB 数据库中属性的唯一性