首页 > 解决方案 > Azure ServiceBusEnvironment.SystemConnectivity.Mode 指南

问题描述

模式可以是Http/Https/Tcpor autodetect(默认根据https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus.connectivitymode?view=azure-dotnet

AutoDetect,在本地运行时执行一些检查(?)并选择可用和/或最佳(?)协议,但是,创建一个新的QueueClientSubscriptionClient可能需要 10 秒。

在本地强制 Https 或 Tcp 使其接近即时。

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Tcp;

但是有推荐的指导/政策在当地使用哪一个?Tcp如果可用,性能更高吗?

如果作业位于 Azure WebJob 中,则同样的问题。

标签: azureazureservicebus

解决方案


AutoDetect,在本地运行时执行一些检查 (?) 并选择可用和/或最佳 (?) 协议,但是,创建新的 QueueClient 或 SubscriptionClient 可能需要 10 秒。

它没有选择最佳选项,而是尝试使用 TCP,如果 TCP 端口被阻止,则将其降低到 HTTP/S。

在本地强制 Https 或 Tcp 使其接近即时。

正确的。在这种情况下,探测被禁用,如果电流打开,则电流将工作,如果这些电流被阻塞,则将填充。

但是有推荐的指导/政策在当地使用哪一个?如果可用,Tcp 是否性能更高?

如果您的网络允许这些端口,TCP 会更好。

如果作业位于 Azure WebJob 中,则同样的问题。

托管 WebJobs(应用服务)的环境已打开所需的 TCP 端口。

附加评论:看起来您正在使用旧客户端。除非是老项目,由于某种原因无法转换,否则建议使用新的Microsoft.Azure.ServiceBus客户端。


推荐阅读