我试图了解如何使Azure Service Bus主题可扩展以处理来自50多个不同客户端的> 10,000个请求/秒。我在微软发现了这篇文章 - http://msdn.microsoft.com/en-us/library/windowsazure/hh528527.aspx。这为扩展azure服务总线提供了很多好的输入,比如创建多个消息工厂,异步发送和接收,进行批量发送/接收。
但所有这些输入都来自发布者和订阅者客户端。如果运行Topic的节点无法处理大量事务,该怎么办?我该如何监控?如何在多个节点上运行主题?任何有关的输入都会有所帮助。
还想知道是否有人使用Topic / Queue进行了任何容量测试,我很想看到这些结果......
谢谢, 人员Prasanna
答案 0 :(得分:12)
如果您需要每秒10K或100K或1M或更多请求,请查看高速公路上正在执行的操作。更多的交通,更多的车道。
通过跨多个实体划分流量,您可以从服务总线中获得有效的任意流量。 Service Bus提供了许多关于可靠性的保证,例如一旦我们从您那里获取消息或我们分配无间隙序列号,我们就不会丢失消息,并且这会对单个主题(如单个主题)产生吞吐量影响。这就像一条公路车道,只能处理X车/小时。制作更多车道。
答案 1 :(得分:8)
自从这些回复以来,微软已经发布了大量的新功能。
在您这样做之前,我建议您尝试: -
这样可以将你的性能从每秒约5条消息提高到每秒100或者每秒1000次。
答案 2 :(得分:2)
服务总线有其“容量和配额”的限制,请查看本文以获得对这些内容的非常好的概述:http://msdn.microsoft.com/en-us/library/windowsazure/hh767287.aspx
我建议您联系当地的MSFT专家,如果您的用例将突破Azure Service Bus的界限,MSFT在Redmond(世界各地)都有专门的团队,可以帮助您设计和推动这些界限大规模,这是Windows Azure CAT(客户咨询团队)。他们的目标是解决现实世界中的客户问题,听起来你可能有一个......
您需要执行并加载测试,以根据您的具体情况获得上述问题的所有答案。
Azure CAT团队在服务总线(一般是Azure)上有大量关于容量和负载测试的指标,这些指标并非总是公开可用,所以如果可以,请再次联系...
答案 3 :(得分:1)
如果它可以处理那么多请求,那么您希望确保以不会达到主题最大大小的方式接收消息。您可以在Azure中使用辅助角色的多个实例来侦听特定订阅,这样您就可以更快地处理邮件而不会接近最大大小。