我嘗試按照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 關注
- 186 瀏覽
添加回答
舉報
0/150
提交
取消