gpt4 book ai didi

WCF 并发连接和 Azure 服务总线中继

转载 作者:行者123 更新时间:2023-12-03 01:11:44 26 4
gpt4 key购买 nike

我有一个 WCF 服务正在监听 Azure 服务总线中继,但由于我无法更改的原因,我在 Windows 服务中自行托管。

一旦服务处于并发负载状态(通常是通过向其提供一系列长时间运行的请求),我们就开始从 Azure 服务总线接收以下消息:

<Error>
<Code>502</Code>
<Detail>Bad Gateway.TrackingId:f0e32d08-2721-464c-a108-fe63f1efc443_G23,TimeStamp:4/23/2013 8:22:18 AM</Detail>
</Error>

我们怀疑并发负载会导致此问题。

我的服务是完全无状态的。

ServiceHost = a WebServiceHost which we instantiate ourselves.
Binding = BasicHttpRelayBinding
InstanceContextMode = Single
ConcurrencyMode = Multiple
SessionMode = NotAllowed
ServiceThrottlingBehaviour.MaxConcurrentConnections = A very large number
Transport = Streaming

我有四个问题:

  1. 上述错误看起来像是并发加载问题吗?
  2. 我还应该考虑哪些其他配置选项来提供更大的规模。
  3. 在自托管 Window Service 环境中,当达到并发连接限制时会发生什么情况?服务会失败吗?连接会排队吗?
  4. 有没有一种方法可以让我在任何给定时刻可靠地监控并发连接数。

最佳答案

我是 Azure 服务总线中继的员工。

我刚刚运行了一个查询来追踪您的问题。 (为了将来的引用,如果我知道您正在使用的命名空间,那就容易多了。)

尝试 502 请求时,似乎未检测到 ServiceHost Listener 连接到服务总线。

调试此问题的最简单方法是 Hook ConnectionStatusBehavior 到您的端点并连接 OnFaulted事件于 ServiceHost .

另请注意,服务总线中的特定虚拟机可能会短时间脱机。发生这种情况时,您的ServiceHost可能会显示离线约 5-15 秒。避免这种情况的最佳方法是始终确保您托管 (2) ServiceHosts在单独的进程/应用程序域中,因此任何单个虚拟机中断都不会影响您的服务。 (这与网站托管建议非常相似。)

如果按照这些建议后出现任何意外问题,请直接联系我:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="93e7fcf7f7e1f6faf5d3fefaf0e1fce0fcf5e7bdf0fcfe" rel="noreferrer noopener nofollow">[email protected]</a>这样我们就可以调查。

关于WCF 并发连接和 Azure 服务总线中继,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16180389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com