C# Azure服务总线-消息:ConnectionsQuotaExceed
我们从C# Azure服务总线-消息:ConnectionsQuotaExceed,c#,azure,azureservicebus,quota,C#,Azure,Azureservicebus,Quota,我们从Azure Service Bus收到以下ConnectionsQuotaExceed消息: 例外情况 EventName=“MessageEvent”Message=“与服务总线通信时发生一个或多个未知错误。 异常类型:QuotaExceedeException 异常深度:0 消息:命名空间生成超出了ConnectionsQuotaE 堆栈跟踪 堆栈跟踪:位于Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncR
Azure Service Bus
收到以下ConnectionsQuotaExceed
消息:
例外情况
EventName=“MessageEvent”Message=“与服务总线通信时发生一个或多个未知错误。
异常类型:QuotaExceedeException
异常深度:0
消息:命名空间生成超出了ConnectionsQuotaE
堆栈跟踪
堆栈跟踪:位于Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult结果)
位于Microsoft.ServiceBus.Messaging.QueueClient.RetryAcceptMessageSessionAsyncResult.End(IAsyncResult r)
位于Microsoft.ServiceBus.Messaging.QueueClient.EndAcceptMessageSession(IAsyncResult结果)
在System.Threading.Tasks.TaskFactory 1.FromAsyncCoreLogic(IAsyncResult iar、Func 2 endFunction、Action 1 endAction、Task 1 Promission、Boolean requiresSynchronization)
来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在d:\vsoagents\18\s\Cloud.ServiceBus.Utilities\ResilientQueueClient.cs中的Platform.ServiceBus.Utilities.ResilientQueueClient.c\u显示class23.d\Uuu 25.MoveNext():第0行
异常类型:FaultException`1
异常深度:1
消息:命名空间生成超出了ConnectionsQuotaE。
堆栈跟踪:
服务器堆栈跟踪:
位于Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.ThrowIfFaultMessage(Message WCFMMessage)
位于Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.HandleMessageReceived(IAsyncResult结果)
问题
文档中概述了配额。异常似乎指的是此连接配额
:
命名空间上的并发连接数。
- 后续的附加连接请求将被拒绝,并且调用代码将接收到异常
- REST操作不计入并发TCP连接
- 网络信息:1000
- AMQP:5000
- 传入消息
- 内部服务错误
- 长度
- 服务器忙错误
- 大小
- 成功的请求
- 其他错误
- 请求总数
有没有一种方法可以通过Azure API或另一个Azure UI来检查和提醒Service Bus quotas文章中记录的配额,或者至少检查到Service Bus命名空间的
AMQP
连接数?嘿,Scott,我不知道答案,但你试过Azure Service Bus EventHub吗?EventHub可以接收数以百万计的数据每秒消息。可能是你的解决方案吗?你好,托马斯。谢谢你的帖子。我们有一个研发团队负责此案:)我同意你的评论,即EventHub缓解了这个问题,但重新设计我们的平台架构以支持EventHub需要几个月的时间。谢谢你的帖子。Scott。是的,这需要时间,时间就是金钱:-)其他可以实现这一技巧的提示:在将消息发送到队列之前对其进行批处理,或者实施自定义重试策略,将连接QuotaExceed
处理为瞬时故障。请参阅此处的文档()以及如何在服务总线客户端上配置它。()。对于Thomas来说,这是因为您有太多的设备,还是每个设备有太多的连接?另一种选择是按名称空间进行划分,但不幸的是,您无法在名称空间之间转发消息,因此需要一些手动工作。