【问题标题】:A connection attempt failed because the connected party did not properly respond after a period of time in Azure连接尝试失败,因为连接方在 Azure 中经过一段时间后没有正确响应
【发布时间】:2019-01-07 04:42:18
【问题描述】:

我有一个安装了 Windows 服务的 Azure VM。

在此 Windows 服务中,我们正在注册到 EventHub,如this 网站中所述。

我有这样的记录错误的方法:

Task IEventProcessor.ProcessErrorAsync(PartitionContext context, Exception error)
{
    log.Error($"Error: {error.Message}");
    return Task.CompletedTask;
}

此 Windows 服务一直在侦听事件中心,并且在收到事件时,它会根据事件(一些业务逻辑)执行一些处理。在处理过程中,有时会在两者之间抛出此错误。

错误:连接尝试失败,因为连接方没有 一段时间后正确响应,或建立连接 失败,因为连接的主机没有响应。

但过了一段时间,它会像往常一样恢复处理。那么为什么会出现这些错误消息,它是否会自行解决。这对我来说不会造成任何问题,但想知道原因并希望将来尽可能避免这种情况。我在网上对此进行了很多搜索,找不到任何合适的解决方案。非常感谢任何帮助。

【问题讨论】:

  • 我知道这有点离题,但你真的需要在 VM 上运行 Windows 服务吗?你应该看看 azure 函数和/或 webjobs。
  • @Thomas VM 中运行着一个 COM 应用程序,该服务需要访问该应用程序。这就是我们使用 Windows 服务的原因。

标签: c# azure azure-eventhub


【解决方案1】:

我认为您应该看看Azure Event Hubs quotas and limitsHow exactly does Event Hubs Throttling Work?,从您对问题的描述来看,您可能正在达到限制阈值。

希望对你有帮助!

【讨论】:

    【解决方案2】:

    添加到@ItayPodhajcer 的答案。

    添加重试策略。在基于云的服务中出现瞬时连接错误是很常见的。请参阅此处的服务总线重试策略文档:

    https://docs.microsoft.com/en-us/azure/architecture/best-practices/retry-service-specific#service-bus

    【讨论】:

      猜你喜欢
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 2020-06-19
      • 2014-01-07
      • 1970-01-01
      • 2011-10-29
      相关资源
      最近更新 更多