0

我目前正在构建一个混合云解决方案,该解决方案需要将消息写入队列以供以后处理。队列具有高可用性(99.999+% 正常运行时间)是绝对必要的。

我的选择是将消息读/写到本地 ZeroMQ 高可用性对或 Azure 服务总线。我更愿意走 Azure 服务总线路线,但找不到任何有关 Azure 服务总线的高可用性配置的文档。

有没有人成功设置 Azure 服务总线以实现高可用性?我了解任何 Azure 服务的单个实例的 SLA 都不能更改。我更多地考虑 Azure Web Apps 的故障转移功能。

4

4 回答 4

3

使用高于 SLA 值的服务可以做的主要事情是确保您正在处理重试逻辑。这里的关键将是任何中断的时间性质,以及调整重试退避以处理边缘情况。有些人使用线性或指数退避来等待更长时间的服务恢复。

此外,您可以在不同区域拥有多个服务总线以实现地理冗余,并且可以在两者之间实现负载平衡消息,或者将其中一个用作热备份。这可以让您避免任何区域性中断,并在一个数据中心不满足其本地 SLA 时保持您的服务正常运行。

于 2017-10-07T19:13:35.227 回答
1

您可以在此处找到 Azure 服务总线的 SLA:legal/sla/service-bus/v1_0/

对于服务总线中继,我们保证至少 99.9% 的时间,正确配置的应用程序将能够建立与已部署中继的连接。对于服务总线队列和主题,我们保证至少 99.9% 的时间,正确配置的应用程序将能够在已部署的队列或主题上发送或接收消息或执行其他操作。对于服务总线基本和标准通知中心层,我们保证至少 99.9% 的时间,正确配置的应用程序将能够发送通知或执行与通知中心相关的注册管理操作。对于事件中心基本和标准层,我们保证至少 99.9% 的时间,

于 2016-02-06T21:03:44.697 回答
0

我们已经让 Service Bus Relay 启动并运行了 5 年以上,并且发生过一次中断。这是在配置继电器并触及许多服务的特定数据中心发生故障。之后,我们通过在不同的数据中心位置实施辅助服务总线中继命名空间来实现冗余。重新配置的代码设置为检查每个连接上的连接性并切换主连接和辅助连接。我们将它们视为平等的,因此一旦我们“故障转移”该命名空间将成为主要命名空间。

于 2018-01-19T20:47:43.907 回答
0

服务总线现在支持命名空间级别的异地灾难恢复和异地复制。

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-geo-dr

于 2018-07-29T21:38:56.640 回答