我尝试按照Microsoft 文档中提到的步骤设置第二个 ServiceBus 以防止 ServiceBus 中断。但是,当我运行下面的代码时,配对永远不会完成:public class ServiceBusContext{ public ServiceBusContext() { var nsManager1 = NamespaceManager.CreateFromConnectionString("..."); var messageFactory1 = MessagingFactory.Create(nsManager1.Address, nsManager1.Settings.TokenProvider); var nsManager2 = NamespaceManager.CreateFromConnectionString("..."); var messageFactory2 = MessagingFactory.Create(nsManager2.Address, nsManager2.Settings.TokenProvider); var sendAvailabilityOptions = new SendAvailabilityPairedNamespaceOptions(nsManager2, messageFactory2, 10, TimeSpan.Zero, false); messageFactory1.PairNamespaceAsync(sendAvailabilityOptions).Wait(); Debug.WriteLine("Cannot reach this code"); }}如何正确设置具有故障转移功能的 ServiceBuse?
1 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
虽然旧客户端仍然可以使用此功能,但我不鼓励使用它。除了该功能的一些有问题的设计问题外,它对您需要发送和接收的流程也没有真正的帮助。它仅设计用于仅发送方案,利用故障转移(辅助)命名空间作为存储。这反过来也增加了成本。
更不用说这是一个遗留库。当代的等价物是 .NET StandardMicrosoft.Azure.ServiceBus
库。相反,它提供了不完全相同的Geo-DR 功能(仅限高级版),但提供故障转移是您的命名空间消失的真正关键场景。除此之外,命名空间应该是 24/7 可用的。通过对具有服务总线的可用区(仅限高级版)的额外支持,您将获得
在 Azure 区域内具有故障隔离位置的财务支持 SLA,提供冗余电源、冷却和网络。
这应该消除对配对命名空间的需要。
- 1 回答
- 0 关注
- 166 浏览
添加回答
举报
0/150
提交
取消