azure - 一对多的 Azure 服务总线队列与主题(唯一)
问题描述
我有一个托管在 Azure 上的在线服务,它以异步方式将数据发送到本地客户端。每个客户都由一个唯一的代码标识。
实际上只有一个主题,每个客户端都有一个订阅,该订阅对唯一代码有一个过滤器,作为消息中的参数发送。永远不会向所有客户端广播任何消息。
我觉得这样使用主题是错误的。我想到的另一种选择是为每个客户使用一个专用队列,这是在第一次联系时创建的
这可能是更好的方法吗?
谢谢
解决方案
在我看来,使用Topics and Subscriptions
是正确的方法。原因如下:
目前,路由逻辑(哪条消息需要发送到哪个订阅)由 Azure 服务总线根据您配置的规则进行处理。如果您使用队列,路由逻辑将需要进入您的托管服务。在发送每条消息之前,您需要确保队列存在。我认为它会以某种方式增加您的服务级别的复杂性。
此外,主题和订阅将使您能够构建审计跟踪类型的功能(不确定您是否正在寻找这种功能)。您可以创建一个单独的订阅,该订阅具有将所有消息 ( True SQL Rule
) 与客户端特定订阅一起传递到该订阅的规则。
推荐阅读
- swift - 使用 NSPersistentCloudKitContainer 的可选核心数据关系问题
- protocol-buffers - 对 gRPC 消息建模的最佳方法
- ruby-on-rails - Rail6 db:migrate 失败 - 参数数量错误(给定 1,预期 0)
- sql - 为什么 select with subselect 在条件下不返回任何行的速度要慢得多?
- spring - 在spring boot中使用pageable获取和删除对象
- php - 页脚没有取代它的位置
- java - SAP Hybris 无法创建自定义横幅组件
- c# - JSON 中的动态键
- java - 从 PDF 剥离器转置矩阵
- perl - Perl grep 通过大文件匹配字符串