gpt4 book ai didi

C# Azure 设置第二个 ServiceBus 用于故障转移

转载 作者:行者123 更新时间:2023-12-03 02:57:35 25 4
gpt4 key购买 nike

我尝试按照Microsoft documentation to set up second ServiceBus to prevent ServiceBus outage中提到的步骤进行操作.

但是,当我运行下面的代码时,配对永远不会完成:

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");
}
}

如何正确设置具有故障转移功能的 ServiceBus?

最佳答案

虽然旧客户端仍然可以使用此功能,但我不鼓励使用它。除了该功能存在一些有问题的设计问题之外,它对于需要发送和接收的流程也没有真正的帮助。它仅针对仅发送场景而设计,利用故障转移(辅助)命名空间作为存储。这反过来又增加了成本。

更不用说这是一个遗留库。现代的等价物是 .NET Standard Microsoft.Azure.ServiceBus图书馆。相反,它提供 Geo-DR feature (仅限高级版)虽然不太一样,但在命名空间消失的情况下提供故障转移是真正关键的场景。除此之外,命名空间应该 24/7 可用。额外支持 Availability Zones使用服务总线(仅限高级版),您将获得

financially-backed SLA with fault-isolated locations within an Azure region, providing redundant power, cooling, and networking.

这应该消除对配对命名空间的需要。

关于C# Azure 设置第二个 ServiceBus 用于故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51664967/

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