Служебная шина и надежность
Полностью управляйте посредничеством для сообщений корпоративного типа с поддержкой очередей сообщений и разделов публикации и подписки с помощью Служебной шины Azure. Эта служба хранит сообщения в брокере (например, в очереди), пока принимающая сторона не будет готова к приему.
Доступные преимущества:
- Балансировка нагрузки между конкурирующими рабочими процессами.
- Безопасная маршрутизация для передачи данных и команд управления через границы служб и приложений.
- Координация транзакционных работ, которые требуют высокой надежности.
Дополнительные сведения об использовании Служебной шины см. в разделе Службы сообщений Служебной шины Azure. Узнайте, как настроить обмен сообщениями между приложениями и службами в локальных и облачных средах.
Сведения о том, как Служебная шина поддерживает надежные рабочие нагрузки, см. в следующих разделах:
- Шаблоны асинхронного обмена сообщениями и высокий уровень доступности
- Географическое аварийное восстановление в служебной шине Azure
- Обработка сбоев и аварийных ситуаций
Представленные ниже разделы связаны со Служебной шиной Azure и обеспечением надежности:
- Рекомендации по проектированию
- Контрольный список для настройки
- Рекомендуемые параметры конфигурации
- Артефакты источника
Рекомендации по проектированию
Обеспечьте максимальную надежность с помощью Соглашения об уровне обслуживания (SLA) в отношении времени работы Служебной шины Azure. Правильно настроенные приложения могут отправлять или принимать сообщения, а также выполнять другие операции для развернутой очереди или раздела. Дополнительные сведения см. в разделе Соглашение об уровне обслуживания для Служебной шины Azure.
Дополнительные рекомендации по проектированию:
Кроме документации по уровням обмена сообщениями "Премиум" и "Стандартный" в службе "Служебная шина", следующие функции доступны только в номере SKU уровня "Премиум":
- Выделенные ресурсы.
- Интеграция виртуальной сети: ограничивает сети, которые могут подключаться к экземпляру Служебной шины. Требует включения конечных точек службы в подсети. Существуют доверенные службы Майкрософт, которые не поддерживаются при реализации виртуальных сетей (например, интеграция со службой "Сетка событий"). Дополнительные сведения см. в разделе Разрешение доступа к пространству имен Служебной шины Azure из конкретных виртуальных сетей.
- Частные конечные точки.
-
Фильтрация IP-адресов и брандмауэр: ограничьте подключения только определенными
IPv4
адресами илиIPv4
диапазонами адресов. - Зоны доступности: обеспечивает улучшенную доступность за счет распределения реплик по зонам доступности внутри одного региона без дополнительной платы.
- Интеграция с со службой "Сетка событий": доступные типы событий.
- Масштабирование единиц обмена сообщениями.
- Геоизбыточное аварийное восстановление (сопряженное пространство имен).
- CMK (ключ, управляемый клиентом): Служебная шина Azure шифрует неактивные данные и автоматически расшифровывает их при доступе, но клиенты также могут использовать собственный ключ, управляемый клиентом.
При развертывании Служебной шины с геоизбыточным аварийным восстановлением и в зонах доступности цель уровня обслуживания (SLO) существенно возрастает, но не влияет на Соглашение об уровне обслуживания о времени работы.
Контрольный список
Вы настроили Служебную шину Azure с учетом требований к обеспечению надежности?
- Оцените преимущества Служебная шина Azure уровня "Премиум".
- Убедитесь, что исключения обмена сообщениями Служебной шины обрабатываются правильно.
- Подключитесь к Служебной шине с помощью Расширенного протокола управления очередью сообщений (AMQP) и используйте конечные точки службы или частные конечные точки по мере возможности.
- Ознакомьтесь с разделом Рекомендации по повышению производительности с помощью обмена сообщениями через Служебную шину.
- Реализуйте георепликацию на стороне отправителя и получателя, чтобы защититься от сбоев и аварийных ситуаций.
- Настройте геоизбыточное аварийное восстановление.
- Если вам требуется критически важная система обмена сообщениями с очередями и разделами, рекомендуется использовать Служебную шину уровня "Премиум" с геоизбыточным аварийным восстановлением.
- Настройте избыточность между зонами в пространстве имен Служебной шины (доступно только на уровне "Премиум").
- Реализуйте высокий уровень доступности для пространства имен Служебной шины.
- Убедитесь, что связанные сообщения гарантированно доставляются в нужном порядке.
- Оцените различные возможности службы обмена сообщениями Java Messaging Service (JMS) с помощью API JMS.
- Используйте пакеты Nuget для .NET, чтобы взаимодействовать с сущностями обмена сообщениями Служебной шины.
- Реализуйте устойчивость для обработки временных сбоев при отправке или получении сообщений.
- Реализуйте автоматическое масштабирование единиц обмена сообщениями.
Рекомендации по настройке
При настройке Служебной шины Azure примите во внимание следующие рекомендации по оптимизации надежности:
Рекомендация | Описание |
---|---|
Оцените преимущества Служебная шина Azure уровня "Премиум". | Рассмотрите возможность перехода на уровень "Премиум" Служебной шины, чтобы воспользоваться преимуществами защиты от сбоев и аварийных ситуаций, поддерживаемой платформой. |
Подключитесь к Служебной шине с помощью протокола AMQP и используйте конечные точки службы или частные конечные точки по мере возможности. | Эта рекомендация позволяет передавать трафик в пределах магистральной сети Azure.
Примечание. Протоколом подключения по умолчанию для пространств имен Microsoft.Azure.ServiceBus и Windows.Azure.ServiceBus является AMQP . |
Реализуйте георепликацию на стороне отправителя и получателя, чтобы защититься от сбоев и аварийных ситуаций. | Уровень "Стандартный" поддерживает реализацию геоизбыточности только на стороне отправителя и получателя. Сбой или авария в регионе Azure могут привести к простою вашего решения. |
Настройте геоизбыточное аварийное восстановление. |
-
Активный — активный - Активный/пассивный - Сопряженное пространство имен (активный — пассивный) - Примечание. Желательно, чтобы дополнительный регион был сопряженным регионом Azure. |
Если вам требуется критически важная система обмена сообщениями с очередями и разделами, рекомендуется использовать Служебную шину уровня "Премиум" с геоизбыточным аварийным восстановлением. | Выбор шаблона зависит от бизнес-требований и цели времени восстановления (RTO). |
Настройте избыточность между зонами в пространстве имен Служебной шины (доступно только в категории "Премиум"). | Избыточность между зонами включает в себя три копии хранилища сообщений. Одна зона выделяется в качестве основного хранилища обмена сообщениями, а другие зоны — в качестве дополнительных. Если основная зона становится недоступной, дополнительная зона повышается до основной без наблюдаемого простоя. Зоны доступности доступны в подмножестве регионов Azure, куда регулярно добавляются новые регионы. |
Реализуйте высокий уровень доступности для пространства имен Служебной шины. | Категория "Премиум" поддерживает геоизбыточное аварийное восстановление и репликацию на уровне пространства имен. На этом уровне категория "Премиум" обеспечивает высокий уровень доступности для аварийного восстановления метаданных с использованием основного и дополнительного пространств имен аварийного восстановления. |
Убедитесь, что связанные сообщения гарантированно доставляются в нужном порядке. | Обратите внимание на требование указывать ключ секции, идентификатор сеанса или идентификатор сообщения для каждого сообщения, чтобы обеспечить отправку связанных сообщений в одну секцию в сущности обмена сообщениями. |
Оцените различные возможности службы обмена сообщениями JMS с помощью API JMS. | Функции, доступные через API JMS 2.0 (и его пакет средств разработки программного обеспечения (SDK)), не совпадают с функциями, доступными в собственном пакете SDK. Например, сеансы Служебной шины недоступны в JMS. |
Реализуйте устойчивость для обработки временных сбоев при отправке или получении сообщений. | Важно реализовать подходящую обработку временных сбоев и ошибок для операций отправки и получения, чтобы обеспечить надлежащую пропускную способность и предотвратить потери сообщений. |
Реализуйте автоматическое масштабирование единиц обмена сообщениями, чтобы убедиться, что у вас достаточно ресурсов, доступных для рабочих нагрузок. |
Артефакты источника
Чтобы определить экземпляры Служебной шины уровня "Премиум", которые не используют частные конечные точки, используйте следующий запрос:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and isempty(properties.privateEndpointConnections)
Чтобы определить экземпляры Служебной шины, не относящиеся к уровню "Премиум", используйте следующий запрос:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier != 'Premium'
Чтобы определить экземпляры Служебной шины уровня "Премиум", которые не являются избыточными между зонами, используйте следующий запрос:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and properties.zoneRedundant == 'false'