当前位置: 首页 > 知识库问答 >
问题:

Azure服务总线主题/子标注配额和缩放

司马腾
2023-03-14

我的应用程序需要将消息发布到具有高吞吐量要求的数千个客户端(每秒数百条,可能1000+条消息),以便使本地客户端数据库与服务器数据库保持同步。每个服务器数据库操作都可能需要将消息发布到20个或更少客户端的位置。客户端只有其特定位置的数据库信息。数以千计的地点存在。

我的想法是使用Azure服务总线主题/订阅模型。每个客户机都将建立对数据库同步主题的订阅(和连接),并接收针对其位置的过滤消息。

但根据Azure服务巴士配额页面,我仅限于以下几种:

  • 命名空间上的并发连接数-1,000
  • 队列/主题/订阅实体上的并发连接数-由每个命名空间的并发连接限制封顶。
  • 每个主题的订阅数-2,000

考虑到这些限制,我的解决方案似乎是行不通的。使用Azure Service Bus解决这个问题的最佳方法是什么?为了绕过每个主题的订阅限制,我可以在每个位置创建一个主题。然而,真正的杀手是主题/名称空间上并发连接的数量(我认为)。所有的客户机都将被订阅,并长时间轮询从每个主题下来的同步消息,这将是数以千计的。我是否需要为每个位置创建一个新的命名空间和主题?这似乎有问题,因为每次我要从服务器发布时都必须打开一个新的连接,这是非常频繁的。

Azure服务总线不是这个问题的正确解决方案吗?

共有1个答案

华宏逸
2023-03-14

不是专家,而是几点。

Azure服务总线支持长轮询:Azure文档。“作为解决方案架构师/开发人员,您应该考虑在以下情况下使用服务总线队列:您的解决方案必须能够在不轮询队列的情况下接收消息。对于服务总线,这可以通过使用服务总线支持的基于TCP的协议使用长轮询接收操作来实现。”

而且,您是正确的:事件集线器与您的问题相反。

最后,Azure notification hubs实际上最接近您的用例(它是为移动推送到数千个endpoint而设计的,这是一个极其相似的场景)。我不确定它是否可行用于非移动应用程序,但我还没有找到一个不可行的理由。我正在考虑从主题切换,当我有时间研究和POC通知枢纽。

 类似资料:
  • 这是关于的一般问题。在Azure中,当应用程序被放大时,如果订阅服务器被放大多次,Azure如何处理向该订阅服务器发送消息。图1显示了一个典型的情况,图2显示了我所说的场景: 默认情况下,Azure是否向所有实例发送相同的消息?或者Azure是否“聪明”到可以在实例之间负载平衡消息?如果没有,人们如何正常处理这种情况?我只想一个实例接收这个消息的情况下,它是缩放的。

  • 我创建了一个Azure函数,并选择Azure服务总线主题作为Visual Studio 2019中的触发器。我还在Azure帐户中创建了服务总线主题,并具有主连接字符串和主键。 我的问题是: 如何将Azure服务总线与我创建的Azure函数集成?生成的代码中应该更改哪些属性? 如何在我的机器上本地向Azure服务总线主题发送消息?是否有任何类似SQLManagement Studio的应用程序可以

  • 我想将一个小的JSON消息放入中。消息将具有附加到它的“ProviderID”属性,并且根据筛选规则,该消息将被筛选到特定于提供程序的上 但是,我似乎无法在上指定共享访问策略,以限制第三方提供商仅连接到他们自己的 我假设应该在订阅上设置以便将这些消息发送到另一个并在那里应用特定于提供程序的安全性,这样做是否正确。 或者有其他/更好的/推荐的方法来做这件事。

  • 参考https://github.com/Azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.Azure.servicebus/basicsendreceiveusingtopicsubscriptionclient,我了解Azure服务总线主题的一般工作方式,我的问题更多地是关于它实际上是如何工作的。

  • 我有一个名为“状态更改”的Azure服务总线主题,它有一个名为“混响”的订阅。我正在尝试使用设置订阅主题的方法,但出现错误: 我一直在使用这篇博客文章来尝试让一切正常运行:http://ramblingstechnical.blogspot.co.uk/p/using-azure-service-bus-with-spring-jms.html 我可以使用向主题添加消息,并使用Azure文档中概述

  • null 输出 谁能解释一下为什么会这样吗?这对我来说有点迷惑?