【问题标题】:Azure Service Bus: How to publish more than 256KB message to a Topic?Azure 服务总线:如何将超过 256KB 的消息发布到主题?
【发布时间】:2017-07-07 14:28:45
【问题描述】:

我是老派的 Windows Azure 架构师。使用服务总线主题将消息传递给辅助角色。

如何向订阅发布更多感谢 256KB 消息?我知道 有一个高级服务总线允许 1MB 消息,但是 1MB 的限制也可能不够。

【问题讨论】:

  • 一种可能是将消息内容存储在 blob 存储中,然后将 blob URL 保存为消息。
  • @GauravMantri,这曾经是我们早期的架构,但由于大量消息被注入,我们面临性能问题。我们不希望发生 IO 阻塞问题。我们还有哪些其他选择?
  • > 但我们将再次达到消息传递限制。这是什么意思?
  • @itaysk,谢谢.. 但 1MB 的限制也可能不够。因为要发布到主题的消息可能会更大。
  • This used to be our architecture earlier but due to high volume of messages being pumped-in we faced performance issues. We did not want IO blocking issues to happen. -> 你考虑过扇出方法吗?不是将消息写入一个存储帐户,而是将它们写入多个存储帐户?这样您就不会达到单个存储帐户的性能阈值。

标签: azure azure-servicebus-topics


【解决方案1】:

如果您尝试发送超过 256KB/1MB 的消息并避免声明检查模式,那么我对设计提出了质疑。 ASB 是关于消息传递,而不是数据传输。

确实,当前的 ASB 客户端 (WindowsAzure.ServiceBus) 并没有使声明检查模式实现变得微不足道。好消息是使用新客户端 (Microsoft.Azure.ServiceBus) 会简单得多。您可以利用 Extensions API 并使用 ServiceBus.AttachmentPlugin 提供的声明检查模式实现或扩展它并允许利用多个存储帐户。

【讨论】:

  • 嗨,为什么github上的例子不完整?检查关于发送接收的第一个示例,没有发送消息的行。
  • @kosnkov,介意提供更多细节吗?你指的是什么例子?一个链接会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 2013-12-21
  • 1970-01-01
  • 2019-09-18
相关资源
最近更新 更多