首页 > 解决方案 > 故障转移可能存在哪些服务总线异常?

问题描述

我在我的系统中使用服务总线,并希望利用高级层服务总线的故障转移功能https://github.com/Azure/azure-service-bus/tree/master/samples/DotNet/Microsoft.ServiceBus.Messaging/ GeoDR/SBGeoDR2/SBGeoDR2 我看到很少有代码示例可以帮助我执行此操作,但主要问题是何时通过代码执行故障转移,因为我们是自动执行此操作而不是手动执行此操作。

我想到的一种解决方案是使用 Polly ( https://github.com/App-vNext/Polly#retry ) 库并对某些异常使用重试,如果重试不成功,则执行故障转移。

基本上我们的目的是使服务总线在我们的系统中具有高可用性,即使服务总线关闭或限制超过 15-30 分钟,也应该发生故障转移。

但是,对于服务总线而言,哪些故障转移是有意义的所有例外都是可能的。

我在下面列出了一些例外(https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.servicebus.servicebusexception?view=azure-dotnet),但不确定这些是否适合我们的场景。ServerBusyException ServiceBusCommunicationException ServiceBusTimeOutException

简而言之,我会说发生中断或停机时服务总线会引发哪些异常以及如果我们尝试调用“SendAsync”(https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus .messaging.topicclient.sendasync?view=azure-dotnet ) 方法。

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-outages-disasters

标签: azureservicebus

解决方案


这可能会显示ServerBusyException。服务总线中的故障转移和中断将属于服务器级别的问题。当您使用 Azure 监视器警报配置 Azure 服务总线时,它会在出现中断或故障转移时显示服务器错误。所以我可能会显示服务器繁忙异常。谢谢


推荐阅读