我有一个安装Windows服务的Azure VM。
在此Windows服务中,我们正在注册this网站中提到的EventHub。
我有记录错误的方法,如下所示:
Task IEventProcessor.ProcessErrorAsync(PartitionContext context, Exception error)
{
log.Error($"Error: {error.Message}");
return Task.CompletedTask;
}
此Windows服务将继续侦听事件中心,并且一旦接收到事件,便会基于该事件执行某些处理(某些业务逻辑)。处理发生时,有时会在两者之间引发此错误。
错误:连接尝试失败,因为被连接方未 一段时间后正确响应或建立连接 失败,因为连接的主机无法响应。
但是过了一段时间,它会照常恢复处理。那么,为什么会出现这些错误消息,并且它们是否会自行解决。这对我来说没有任何问题,但想知道原因,并希望在将来尽可能完全避免这种情况。我在网上进行了大量搜索,找不到任何合适的解决方案。我们非常感谢您的帮助。< / p>
答案 0 :(得分:0)
我认为您应该看看Azure Event Hubs quotas and limits和How exactly does Event Hubs Throttling Work?,因为从对问题的描述中,您有可能达到了节流阈值。
希望有帮助!
答案 1 :(得分:0)
添加到@ItayPodhajcer的答案。
添加重试策略。在基于云的服务中出现瞬时连接错误非常普遍。请参阅此处的服务总线重试策略文档: