Сервисная шина Azure: высокая доступность

В настоящее время я создаю гибридное облачное решение, которое должно записывать сообщения в очередь для последующей обработки. Абсолютно необходимо, чтобы очередь была высокой доступности (99,999+% времени безотказной работы).

Я могу читать и записывать сообщения в локальную пару высокой доступности ZeroMQ или служебную шину Azure. Я бы предпочел пойти по маршруту Azure Service Bus, но не могу найти документацию, касающуюся конфигурации высокой доступности для Azure Service Bus.

У кого-нибудь получалось настроить Azure Service Bus для обеспечения высокой доступности? Я понимаю, что SLA для одного экземпляра любой службы Azure изменить нельзя. Я больше думаю о возможностях аварийного переключения веб-приложений Azure.

4 ответа

Решение

Главное, что вы можете сделать для использования сервиса со значением выше SLA, это убедиться, что вы обрабатываете логику повторных попыток. Ключевым моментом здесь будет временный характер любого сбоя и настройка отката при повторных попытках для обработки крайних случаев. Некоторые используют линейные или экспоненциальные откаты, чтобы еще больше подождать, пока сервис не восстановится.

Кроме того, вы можете иметь более одной служебной шины в другом регионе для обеспечения геоизбыточности, а также либо распределять нагрузки между сообщениями, либо использовать одну в качестве горячей резервной копии. Это может помочь вам обойти любые региональные перебои и сохранить работоспособность, когда один центр обработки данных не соответствует своему локальному SLA.

Вы можете найти SLA для служебной шины Azure здесь: legal / sla / service-bus / v1_0 /

Для ретрансляторов служебной шины мы гарантируем, что как минимум 99,9% времени правильно настроенные приложения смогут устанавливать соединение с развернутым ретранслятором. Что касается очередей и тем служебной шины, мы гарантируем, что как минимум 99,9% времени правильно настроенные приложения смогут отправлять или получать сообщения или выполнять другие операции с развернутой очередью или темой. Для базовых и стандартных уровней шины уведомлений Service Bus мы гарантируем, что по меньшей мере 99,9% правильно настроенных приложений смогут отправлять уведомления или выполнять операции управления регистрацией в отношении центра уведомлений. Для базовых и стандартных уровней концентраторов событий мы гарантируем, что по крайней мере в 99,9% случаев правильно сконфигурированные приложения смогут отправлять или получать сообщения или выполнять другие операции в концентраторе событий.

Шина обслуживания теперь поддерживает восстановление после сбоев и гео-репликацию на уровне пространства имен.

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

Реле сервисной шины запущено и работает уже более 5 лет, и у нас был один сбой. Это был сбой в конкретном центре обработки данных, в котором было установлено реле, и затронул многие службы. После этого мы реализовали избыточность, внедрив вторичное пространство имен ретранслятора служебной шины в другом месте центра обработки данных. Реконфигурированный код был настроен для проверки возможности подключения при каждом подключении и переключения основного и дополнительного подключений. Мы относились к ним как к равным, поэтому, как только мы "провалились", пространство имен стало основным.

Другие вопросы по тегам