Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Event Grid — это масштабируемая управляемая служба публикации-подписки, которая распределяет сообщения. Сетка событий предоставляет гибкие шаблоны потребления сообщений. Используются протоколы транспорта телеметрии очереди сообщений (MQTT) и HTTP для поддержки бессерверных архитектур, потоков данных и интеграции приложений, основывающихся на событиях.
В этой статье предполагается, что в качестве архитектора вы рассмотрели дерево принятия решений для обмена сообщениями и выбрали Event Grid как службу обмена сообщениями для вашей рабочей нагрузки.
В этой статье приведены рекомендации по архитектуре, сопоставленные с принципами Well-Architected платформы.
Область технологий
В этом обзоре рассматриваются взаимосвязанные решения для следующих ресурсов Azure:
- Сетка событий Azure
Reliability
Цель компонента надежности заключается в обеспечении непрерывной функциональности путем создания достаточной устойчивости и возможности быстрого восстановления после сбоев.
принципы проектирования надежности обеспечивают высокоуровневую стратегию проектирования, применяемую для отдельных компонентов, системных потоков и системы в целом.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка для проверки надежности. Определите свою релевантность бизнес-требований, учитывая характер приложения и критически важное значение его компонентов. Расширьте стратегию, чтобы включить дополнительные подходы по мере необходимости.
Просмотрите ограничения и квоты служб и используйте их в руководстве планированием надежности и принятием решений о пропускной способности. Учитывайте ограничения пропускной способности подписки, которые влияют на доставку событий, когда потребители не могут обрабатывать события с требуемой скоростью.
Формирование полезной нагрузки событий в пределах ограничений размера сообщений (1 МБ на событие) и разделяйте сообщения при необходимости. При планировании стратегий развертывания и потребностей в ресурсах следует учитывать квоты для конкретных регионов.
Предвидеть потенциальные сбои с помощью систематического анализа: Используйте анализ режима сбоя для выявления потенциальных сценариев сбоя и создания стратегий устранения рисков, чтобы обеспечить устойчивость сетки событий.
Failure Смягчение последствий Сбои доставки событий потребителям Настройте политики повторных попыток с экспоненциальным ростом и адреса недоставленных сообщений. Реализуйте мониторинг здоровья потребителей с помощью автоматизированных оповещений. Недоступность службы потребителей Разверните шаблоны аварийного отключения и альтернативные пути обработки. Размещайте несколько экземпляров потребителей в зонах доступности. Сбой в работе Microsoft Event Grid в регионе Репликация тем в нескольких регионах и развертывание потребителей в нескольких регионах с возможностями маршрутизации трафика. Реализуйте стратегии избыточности для обеспечения высокой доступности: Разделы сетки событий автоматически используют зоны доступности в поддерживаемых регионах. Эта настройка обеспечивает избыточность на уровне зоны без какой-либо конфигурации. Регионы с поддержкой зоны доступности включают эту возможность по умолчанию.
Развёртывайте пользовательские приложения в зонах доступности с помощью Azure Kubernetes Service (AKS) или с использованием зонально-избыточных развёртываний Azure App Service. Этот подход позволяет выполнить отказоустойчивость на уровне зоны. Для обеспечения активно-активной избыточности между регионами используйте инфраструктуру как код (IaC) для развертывания конфигураций Event Grid в нескольких регионах. Включите разделы, домены, пространства имен и подписки на события.
Настройте приложения-производители для публикации событий в ресурсах Сетки событий во всех развернутых регионах одновременно. Эта настройка обеспечивает межрегиональную избыточность данных событий. Чтобы реализовать активную-активную избыточность для вашей рабочей нагрузки, разместите потребительские приложения в нескольких регионах и используйте Azure Traffic Manager или Azure Front Door. Используйте шаблон меток развертывания для обеспечения избыточности на уровне рабочей нагрузки в разных регионах.
Проектирование надежного масштабирования для переменной нагрузки событий: Используйте автомасштабирование в Event Grid для обработки различных объёмов событий без ручного вмешательства. Настройте политики доставки подписок для обработки масштабирования, включая политики повторных попыток и пункты назначения для недоставленных сообщений. Разработка стратегий единиц масштабирования для потребительских приложений с помощью горизонтального масштабирования между экземплярами и регионами.
Отслеживайте операции масштабирования для поддержания непрерывной обработки событий при изменении шаблонов нагрузки. При разработке стратегий масштабирования следует учитывать ограничения регулирования подписки, чтобы предотвратить сбои доставки. Настройте автомасштабирование для потребительских приложений, чтобы они могли справляться с пиковыми объемами событий. Решение о масштабировании потребителей зависит от метрик сетки событий, таких как незавершенные события и количество попыток доставки.
Реализуйте мониторинг и оповещения для обеспечения надежности: Настройте метрики для отслеживания ключевых показателей надежности, таких как показатели успешной доставки, количество неудачных доставок и объемы нежелательных писем. Настройте мониторинг для отслеживания доступности раздела и работоспособности конечной точки потребителя.
Реализуйте оповещения об обнаружении сбоев с заданными порогами для сбоев доставки, недоступности потребителей и состояния здоровья зависимостей. Отслеживайте время восстановления, чтобы оценить задержки обработки по вашим целям. Отслеживайте работоспособность зависимостей, таких как учетные записи хранения, функции Azure и службы потребителей, влияющие на обработку событий.
Настройте составной мониторинг работоспособности для объединения метрик сетки событий с индикаторами производительности потребителей. Настройте процедуры эскалации оповещений для критически важных событий надежности.
Реализуйте стратегии тестирования надежности для систем, управляемых событиями: Создание искусственных событий для проверки надежности доставки в разных сценариях, включая высокопроизводительные нагрузки и пограничные варианты. Используйте инженерию хаоса для проверки устойчивости обработки событий во время имитации сбоев инфраструктуры. Настройте автоматическое тестирование, чтобы убедиться, что политики повторных попыток, обработка недоставленных писем и отработка отказа потребителей работают должным образом.
Разработка стратегии аварийного восстановления для обеспечения непрерывности бизнеса: Выберите один из двух вариантов резервного переключения. Для аварийного переключения, инициированного Microsoft, используйте межрегиональную настройку. Этот параметр автоматически реплицирует метаданные в парные регионы и пытается выполнить переключение на резервный ресурс в случае регионального сбоя. Для отработки отказа, инициированной клиентом, используйте региональный параметр и реализуйте шаблоны аварийного восстановления на стороне клиента, если вам потребуется полный контроль над выбором дополнительного региона и временем отработки отказа.
Используйте IaC для настройки автоматического резервного копирования для конфигураций подписки и правил маршрутизации. Проектирование активного пассивного аварийного восстановления с помощью резервных развертываний потребителей в дополнительных регионах. Определите цель времени восстановления (RTO) и целевую точку восстановления (RPO) на основе бизнес-потребностей.
Настройте геоизбыточные назначения мертвых букв с помощью репликации хранилища между регионами, чтобы предотвратить потерю событий. Регулярно тестируйте процедуры аварийного восстановления, включая переключение между регионами и перенаправление потоков данных. Разработка функций воспроизведения событий из очереди недоставленных сообщений для восстановления утраченной обработки во время сбоев.
Реализуйте методы самосохранения, чтобы обеспечить операционную устойчивость: Создайте самосохранение в рабочей нагрузке Сетки событий, чтобы быстро восстановиться после сбоев и продолжить работу.
Настройте политики повторных попыток с экспоненциальным отклонением для автоматической обработки временных сбоев в работе потребителей.
Используйте пункты назначения для недоставленных сообщений, чтобы сохранить недоставляемые события и предотвратить потерю данных.
Добавьте в потребительские приложения шаблоны разбиения цепи, чтобы предотвратить каскадные сбои.
Настройте фильтры подписок и маршрутизацию для изоляции сбоев и свести к минимуму их влияние.
Создайте стратегии ухудшения, которые продолжают обработку критически важных событий при сбое неисправных зависимостей.
Используйте встроенные механизмы гарантий доставки и упорядочивания для поддержания согласованности данных в условиях частичных сбоев.
Установите соответствующие значения TTL для событий, чтобы предотвратить исчерпание ресурсов во время продолжительных сбоев.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Настройте масштабирование потребительских приложений на основе метрик Event Grid, таких как количество недоставленных событий и попыток доставки. Создайте пользовательские правила масштабирования, которые срабатывают при увеличении объема очереди недоставленных сообщений. Реализуйте мониторинг уровня подписки, который включает разные пороговые значения для каждого типа события. Используйте Azure Logic Apps или Функции для автоматизации масштабирования ответов на основе этих метрик. |
Масштабирует потребителей на основе фактического спроса на обработку событий, а не только на использовании ресурсов. Раннее обнаружение проблем с емкостью позволяет предотвратить сбои в доставке. Позволяет адаптировать стратегии масштабирования для различных типов событий. |
| Отслеживайте метрики частоты успешной доставки и настраивайте оповещения с целевыми значениями уровня обслуживания (SLO). Создайте панели мониторинга, показывающие проценты успешной доставки, задержку и время отклика потребителей. Агрегируйте метрики за соответствующие временные периоды для измерения индикаторов уровня обслуживания (SLI). | Этот инструмент показывает, насколько хорошо вы выполняете ваши цели по уровню обслуживания (SLO) с помощью метрик в режиме реального времени. Помогает определить проблемы надежности, прежде чем они влияют на ваш бизнес. Предоставляет исторические данные для улучшения. |
| Настройте мониторинг очереди невостребованных сообщений с оповещениями для объёмов сообщений, превышающих порог, обычно 1% от общего числа событий. Настройте проверки работоспособности конечной точки потребителя, отслеживающие время доступности и ответа. Создайте составные проверки работоспособности, которые объединяют метрики сетки событий и потребителей. Настройте эскалацию оповещений при одновременном снижении нескольких индикаторов. |
Обнаруживает системные проблемы в начале конвейера событий. Позволяет быстро реагировать на инциденты, автоматически уведомляя нужных людей при эскалации проблем. Обеспечивает полную видимость от публикации события до обработки данных потребителем. |
| Создайте автоматические наборы тестов, которые создают искусственные события с разными размерами полезных нагрузок и типами. Используйте Azure Load Testing для имитации реалистичных объемов событий. Настройте автоматические тесты, чтобы убедиться, что политики повторных попыток работают правильно для временных и постоянных сбоев. | Проверяет надежность доставки в условиях реалистичной нагрузки. Проверяет повторы и обработку ошибок перед развертыванием в рабочей среде. Проверяет установку непрерывно с помощью конвейера непрерывной интеграции и непрерывного развертывания (CI/CD). |
| Используйте Azure Chaos Studio для внедрения сбоев в потребители и зависимости. Настройте управляемые сценарии сбоев, такие как сбои в зоне, сбои у потребителей и сетевые разделения. Создание тестов имитации отказов для учетных записей хранения, поддерживающих дестинации для недоставленных сообщений. Настройте автоматические проверки восстановления, чтобы убедиться, что системы возвращаются в работоспособное состояние. |
Проверяет устойчивость обработки событий в условиях реалистичных сбоев. Определяет пробелы надежности перед тем, как они вызывают инциденты в рабочей среде. Создает уверенность в процедурах аварийного восстановления с помощью систематического моделирования. |
| Включите отказоустойчивость, инициированную корпорацией Майкрософт, настроив темы с параметром географического размещения данных по умолчанию. Этот параметр автоматически реплицирует метаданные в парные регионы во время сбоя. Кроме того, можно настроить региональные настройки размещения данных и реализовать аварийное переключение, инициируемое клиентом, с помощью шаблонов восстановления на стороне клиента. Используйте этот параметр, если требуется полный контроль над дополнительными регионами. Настройте автоматизированные процедуры резервирования для приложений-производителей для перенаправления на вторичные региональные темы при сбое основного региона. |
Автоматическая передача метаданных в парные регионы во время региональных сбоев при использовании межрегиональной конфигурации. Предоставляет полный контроль над тем, какие вторичные регионы следует использовать и когда запускать переключение на резерв при использовании региональной конфигурации и аварийного восстановления клиентской стороны. Уменьшает ручное вмешательство во время аварий благодаря автоматическому переключению при сбоях. |
| Реализуйте автоматическое резервное копирование конфигурации с помощью Azure CLI или скриптов Azure PowerShell. Храните скрипты резервного копирования и шаблоны в системе контроля версий вместе с руководствами по аварийному восстановлению. Чтобы защитить незавершенные события от региональных сбоев, настройте геоизбыточное хранилище для назначений недоставленных писем. | Обеспечивает быстрое восстановление конфигурации во время аварийных сценариев и предотвращает потерю событий через геоизбыточное хранилище. Обеспечивает согласованные процедуры восстановления с помощью автоматизации, контролируемой версией. |
| Настройте потребительские приложения в вторичных регионах с предварительно подготовленной инфраструктурой. Чтобы активировать вторичных потребителей, реализуйте автоматическую отработку отказа с помощью службы автоматизации Azure или Logic Apps. Настройте возможности воспроизведения событий из хранилища недоставленных писем, чтобы восстановить потерянную обработку. | Позволяет быстро активировать потребителей во время региональных аварий и помогает удовлетворить целевые показатели RTO и RPO с помощью проверенных процедур. Позволяет полностью восстановить обработку благодаря функциям повторного воспроизведения. |
| Настройте политики повторных попыток с экспоненциальной задержкой (1-секундное начало, 24-часовой максимум) для обработки временных сбоев у потребителей. Настройте места назначения мертвых писем с помощью очередей хранилища Azure или очередей службы шины Azure, чтобы сохранить недоставленные события. Задайте TTL события на основе бизнес-требований (как правило, от одного до семи дней), чтобы предотвратить исчерпание ресурсов. Используйте фильтрацию подписок для отправки типов событий в соответствующие места назначения и минимизации радиуса взрыва. |
Позволяет платформе автоматически восстанавливаться после временных сбоев без вмешательства вручную. Сохраняет события во время длительных сбоев, чтобы можно было повторно обработать и проанализировать их позже. Содержит ошибки через маршрутизацию событий и TTL, чтобы предотвратить перегрузку на уровне системы. |
| Реализуйте шаблоны разбиения цепи с помощью библиотек устойчивости, таких как Polly для .NET или устойчивость4j для Java, чтобы предотвратить каскадные сбои. Настройте выключатель для остановки отправки запросов неисправным потребителю после определенного количества сбоев, как правило, пять последовательных сбоев. Создавайте резервные механизмы, чтобы критические события продолжали обрабатываться при сбое несущественных зависимостей. Настройте конечные точки проверки работоспособности для мониторинга систем потребителей, чтобы трафик мог автоматически перенаправляться. |
Останавливает каскадные сбои путем автоматической изоляции зависимостей в случае отказа потребителей. Обеспечивает обработку критических событий с помощью резервных механизмов во время частичных сбоев системы. Обеспечивает автоматическое восстановление и интеллектуальное управление трафиком посредством маршрутизации на основе состояния системы. |
Безопасность
Цель компонента "Безопасность" — обеспечить конфиденциальности, целостности и доступности гарантии рабочей нагрузки.
Принципы проектирования безопасности обеспечивают высокоуровневую стратегию проектирования для достижения этих целей, применяя подходы к техническому проектированию сетки событий.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования, основываясь на контрольном списке проверки проектирования для безопасности, и выявляйте уязвимости и меры управления для улучшения состояния безопасности.
Создайте базовые показатели безопасности для развертываний: Просмотрите базовые показатели безопасности и используйте его для настройки элементов управления операциями, защитой данных и управлением доступом. Реализация должна включать управление удостоверениями и доступом, безопасность сети, шифрование и ведение журнала.
Используйте базовые рекомендации для конкретных потребностей сетки событий, таких как управление доступом к разделу и безопасность подписки. Согласуйте контроли Microsoft Cloud Security Benchmark, чтобы обеспечить согласованность позиции безопасности. Регулярно просматривайте базовые показатели по мере изменения требований и угроз.
Реализуйте сегментацию для изоляции рабочих нагрузок на основе событий: Определите идентификацию в качестве основной границы безопасности, используя контроль доступа на основе ролей Azure (RBAC) для управления доступом к ресурсам Event Grid. Назначьте встроенные роли RBAC, включая участника Event Grid, участника подписки на события Event Grid и отправителя данных Event Grid.
Используйте отдельные разделы для изоляции различных доменов приложений и бизнес-функций. Настройте элементы управления доступом на уровне подписки, чтобы только авторизованные потребители могли получать события. Чтобы создать четкие границы разделения и доступа, упорядочьте ресурсы Event Grid, используя группы ресурсов и подписки.
Поддерживайте раздельное использование удостоверений издателя и подписчика с помощью управляемых удостоверений и принципалов службы. Настройте фильтрацию событий и маршрутизацию для минимизации радиуса взрыва и перенаправления событий только для своих предполагаемых потребителей.
Интеграция с идентификатором Microsoft Entra для централизованного управления удостоверениями и доступом: Используйте идентификатор Microsoft Entra для обработки проверки подлинности и авторизации для сетки событий. Настройте управляемые удостоверения для проверки подлинности между службами, чтобы не хранить учетные данные. Настройте политики условного доступа Microsoft Entra, которые отвечают на контекст пользователя, состояние устройства и сетевое расположение.
Сохраняйте разрешения плоскости данных (публикация и использование событий) отдельно от разрешений плоскости управления (управление ресурсами). Применяйте принципы "точно в срок" и "в достаточной мере" для административных операций.
Настройте следы аудита с помощью журнала действий в Azure Monitor для отслеживания решений по доступу к удостоверениям и авторизации. Используйте группы идентификаторов Microsoft Entra для назначения ролей и управления доступом.
Примените элементы управления безопасностью сети для безопасного взаимодействия с событиями: Настройте частные конечные точки для разделов Сетки событий, чтобы устранить уязвимость Интернета и интегрировать частные конечные точки с виртуальной сетью. Настройте правила фильтрации IP-адресов и брандмауэра на уровне раздела, чтобы разрешить доступ только из авторизованных исходных адресов и диапазонов.
Запланируйте интеграцию виртуальной сети для подключения издателей, сетки событий и потребителей в пределах сети. Используйте группы безопасности сети (NSG) и таблицы маршрутизации для управления потоком трафика и создания микро-сегментации.
Настройте мониторинг сети и ведение журнала для отслеживания шаблонов трафика сетки событий и попыток подключения.
Реализуйте шифрование данных для защиты событий: Сетка событий автоматически шифрует неактивных данных с помощью ключей платформы, управляемых Корпорацией Майкрософт, для хранимых событий и метаданных. Требуйте использование протокола TLS 1.2 в качестве минимально допустимой версии для всех коммуникаций с Event Grid, включая публикацию и подписку на события. Настройте управление сертификатами для подключений TLS для автоматизации обновления и проверки.
Платформа шифрует временное хранилище событий во время обработки и повторных попыток доставки. Разделы и домены сетки событий не поддерживают ключи, управляемые клиентом (CMKs).
Упрочнение конфигураций Event Grid, чтобы свести к минимуму область атаки: Сведите к минимуму область атаки Event Grid, систематически упрочняя его конфигурации:
Отключите ненужные методы проверки подлинности и протоколы. Сохраняйте только необходимые механизмы.
Настройте параметры раздела и подписки, следуя принципам наименьших привилегий. Удалите неиспользуемые возможности.
Удалите или отключите поддержку устаревших протоколов и методы проверки подлинности, которые создают риски безопасности.
Настройте параметры ресурсов с безопасными значениями времени ожидания и политиками повторных попыток по умолчанию.
Используйте соглашения о безопасном именовании и упорядочение ресурсов, чтобы избежать утечки информации.
Настройте минимальные необходимые разрешения для служебных принципалов и управляемых удостоверений Сетки событий.
Назначьте встроенные политики Azure Policy для Azure Event Grid на уровне подписки, например темы Azure Event Grid должны использовать приватную ссылку.
Защита секретов и учетных данных для интеграции Сетки событий: Настоятельно рекомендуется использовать идентификатор Microsoft Entra с управляемыми удостоверениями, так как он устраняет необходимость в хранимых секретах. Если вы не используете Microsoft Entra ID, сохраните строки подключения, ключи API и маркеры проверки подлинности в Azure Key Vault с элементами управления доступом и политиками ротации.
Используйте отдельные ключи для разных сред и потребителей, чтобы не предоставлять общий доступ к учетным данным. Настройте автоматическую ротацию секретов для ключей доступа к Event Grid и токенов веб-перехватчика, чтобы минимизировать сбои. Не ставьте секреты жесткого кода в приложениях обработчика событий, файлах конфигурации или конвейерах развертывания.
Отслеживайте шаблоны доступа к секретам с помощью аудита Key Vault и настраивайте оповещения для необычных попыток. Создайте процедуры восстановления для скомпрометированных учетных данных, включая способ быстрого повторного создания ключей.
Реализуйте мониторинг безопасности и ведение журнала для сетки событий: Настройте параметры диагностики Azure Monitor для записи событий, связанных с безопасностью, включая попытки доступа и изменения конфигурации. Реализуйте ведение журнала действий для операций сетки событий, включая создание раздела, управление подписками и изменения политики. Отслеживайте шаблоны удостоверений и доступа с помощью журнала действий в Azure Monitor для выявления необычных шаблонов и сбоев авторизации.
Настройте оповещения для событий безопасности, таких как сбой проверки подлинности, несанкционированный доступ и подозрительные шаблоны. Интеграция журналов сетки событий с Microsoft Sentinel для обнаружения угроз и аналитики безопасности. Используйте структурированное ведение журнала с метками времени и метаданными событий, чтобы проанализировать проблемы безопасности и исследовать инциденты.
Отслеживайте шаблоны доставки событий для необычного поведения, которое может сигнализировать об инцидентах безопасности. Настройте политики хранения журналов, соответствующие требованиям к безопасности и соответствию вашей организации.
Проверьте элементы управления безопасностью с помощью систематического тестирования и оценки: Выполнение регулярных тестов проверки в элементах управления доступом сетки событий, безопасности сети и параметров шифрования.
Тестирование на проникновение, которое фокусируется на конечных точках, механизмах проверки подлинности и попытках обойти системы контроля доступа.
Тестирование элементов управления безопасностью сети, таких как конфигурация частной конечной точки, фильтрация IP-адресов и интеграция виртуальной сети.
Тестирование управления удостоверениями и доступом, включая назначения RBAC, политики условного доступа и проверку подлинности управляемого удостоверения. Убедитесь, что события остаются безопасными во всем конвейере, от издателей до сетки событий до потребителей.
Реализуйте автоматическое тестирование безопасности в конвейерах развертывания, чтобы поймать неправильные конфигурации.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Назначьте встроенные роли RBAC на соответствующих уровнях для соблюдения принципа минимальных привилегий. Назначьте роль участника сетки событий пользователям, которые управляют разделами и подписками. Назначьте роль Event Grid EventSubscription Contributor пользователям, которые управляют подписками на события. И назначьте роль отправителя данных сетки событий для приложений, публикующих события. | Соотносит элементы управления доступом и операционные обязанности. Обеспечивает доступ с наименьшими привилегиями посредством разделения операций управления и операций с данными. |
| Упорядочивайте темы, используя группы ресурсов, которые соответствуют границам безопасности и операционным требованиям. Используйте соглашения об именовании, которые отражают границы безопасности и требования к доступу. Настройте фильтрацию подписок для отправки событий только авторизованным потребителям. | Разделяет потоки событий в соответствии с политиками безопасности и уменьшает зону воздействия благодаря изолированным структурам тем. Устанавливает четкие границы организации для соответствия требованиям. |
| Назначьте управляемые удостоверения к темам, подпискам и обработчикам событий для аутентификации в службах Azure. Используйте удостоверения, назначенные системой, для сценариев с одним ресурсом, или удостоверения, назначенные пользователем, если необходимо предоставить общий доступ к удостоверениям. Настройте управляемые идентификаторы для функций Azure, Logic Apps и аккаунтов хранения, обрабатывающих события. | Устраняет сохраненные учетные данные и связанные с ними риски безопасности. Обеспечивает автоматическую смену учетных данных с помощью Azure и обеспечивает безопасную проверку подлинности между службами без ручного управления секретами. |
| Включите политики условного доступа для операций управления сеткой событий. Требовать многофакторную проверку подлинности (MFA) для привилегированных операций, таких как создание раздела и изменения политики. Задайте элементы управления на основе расположения, ограничивающие управление авторизованными регионами. Убедитесь, что устройства соответствуют требованиям соответствия для административного доступа. |
Применяет элементы управления безопасностью на основе риска и контекста. Снижает несанкционированный доступ, требуя дополнительной проверки подлинности. Позволяет адаптировать политики безопасности по мере изменения угроз. |
| Разверните частные конечные точки для топиков Event Grid в своей виртуальной сети. Настройте параметры системы доменных имен (DNS) для корректного разрешения имён. Настройте NSG и таблицы маршрутизации для управления потоком трафика. |
Устраняет доступ к Интернету через изоляцию на уровне сети и обеспечивает безопасную связь в виртуальной сети. Обеспечивает централизованное управление доступом через группы безопасности. |
| Настройте правила фильтрации IP-адресов на уровне раздела с помощью списка разрешений. Запрещайте доступ по умолчанию и разрешайте только авторизованные исходные адреса и диапазоны безклассовой маршрутизации между доменами (CIDR). Настройте мониторинг и оповещения для заблокированных попыток доступа. | Управляет доступом к сети на уровне обслуживания и сокращает область атаки, ограничивая доступ к известным источникам. Помогает обнаруживать попытки несанкционированного доступа. |
| Требовать TLS 1.2 в качестве минимальной версии для всех подключений сетки событий. Настройте параметры TLS для конечных точек пользовательского домена и назначений вебхуков. Реализуйте проверку сертификата для конечных точек вебхуков, которые принимают события. | Защищает от атак с понижением уровня протокола с помощью стандартного шифрования для передаваемых данных. Предотвращает атаки «человек посередине» с помощью проверки сертификата. |
| Используйте политику Azure для применения стандартов конфигурации безопасности и предотвращения смещения. Используйте IaC для согласованных конфигураций безопасности в разных средах. Отключите ненужные методы проверки подлинности и поддержку устаревших протоколов. Задайте минимальные необходимые значения времени ожидания и политики повторных попыток. Отслеживайте изменения конфигурации и настраивайте автоматические оповещения для несанкционированных изменений. |
Сокращает область атаки, удаляя ненужные функции и предотвращая смещение конфигурации путем применения политик. Обеспечивает согласованность безопасности в разных средах и помогает быстро обнаруживать несанкционированные изменения. |
| Хранение учетных данных клиента сетки событий в Key Vault с помощью элементов управления доступом RBAC. Включите автоматическую смену секретных данных для ключей доступа и вебхуков. Используйте отдельные ключи для каждой среды и приложения. |
Обеспечивает безопасное хранилище с контролем доступа и аудитом. Автоматизирует управление жизненным циклом учетных данных и обеспечивает отдельный доступ с помощью ключей, относящихся к среде. |
| Включите параметры диагностики для отправки журналов сетки событий в рабочую область Log Analytics. Настройте правила генерации оповещений для неудачной проверки подлинности, несанкционированного доступа и изменений конфигурации. Интеграция с Microsoft Sentinel для обнаружения угроз и аналитики безопасности. Задайте политики хранения журналов, соответствующие вашим требованиям. |
Обеспечивает видимость событий безопасности и потенциальных угроз. Позволяет быстро реагировать на инциденты с помощью автоматического оповещения и поддерживать соответствие с помощью структурированного ведения журнала и хранения. Обнаруживает угрозы с помощью аналитики безопасности. |
Оптимизация затрат
Оптимизация затрат фокусируется на обнаружении шаблонов расходов, приоритете инвестиций в критически важные области и оптимизации в других в соответствии с бюджетом организации при выполнении бизнес-требований.
Принципы проектирования оптимизации затрат обеспечивают высокоуровневую стратегию проектирования для достижения этих целей и достижения компромиссов при необходимости в техническом проектировании, связанном с сеткой событий и ее средой.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка оценки для оптимизации затрат при инвестициях. Настройте структуру, чтобы рабочая нагрузка соответствовала бюджету, выделенному для рабочей нагрузки. Проект должен использовать правильные возможности Azure, отслеживать инвестиции и находить возможности для оптимизации с течением времени.
Анализ моделей ценообразования и структур затрат для оптимизации расходов сетки событий: Оцените уровни Сетки событий "Базовый" и "Стандартный", чтобы понять, как модели ценообразования влияют на затраты на решение. Уровень "Базовый" использует цены на операции, которые обеспечивают прогнозируемые затраты на низкий объем, простые сценарии доставки push-уведомлений. Уровень "Стандартный" объединяет предварительно приобретенные единицы пропускной способности (TUS) с затратами на каждую операцию.
Каждый TU предоставляет фиксированную емкость для сеансов, входящего трафика сообщений в секунду и разделов для каждого пространства имен. TUS имеют фиксированную почасовую стоимость независимо от использования. Недостаточное обеспечение ресурсами приводит к ограничению пропускной способности и ухудшению качества обслуживания. Чрезмерное резервирование тратит деньги на неиспользуемые мощности.
Операции MQTT обходятся дороже, чем операции с событиями. Учтите расходы на передачу данных между регионами, когда вы отправляете события в разные регионы Azure. Учитывайте затраты на хранение событий и хранение недоставленных писем поверх базовой цены на Event Grid.
Оптимизация емкости и пропускной способности для эффективной обработки событий: Настройте пакетную обработку событий для доставки нескольких событий в отдельных операциях и уменьшения затрат на каждую операцию. Оптимизируйте размер пакета во время нагрузочного тестирования. Примените фильтрацию событий на уровне подписки, чтобы предотвратить ненужную обработку и доставку неуместных событий. Настройте политики обработки недоставленных писем и повторных попыток для управления попытками обработки и затратами на хранение.
Определите политики хранения событий для балансировки доступности данных с затратами на хранение. Планирование пропускной способности для учета пиковых объемов событий и шаблонов обработки.
Устранение отходов ресурсов и оптимизация конфигураций: Систематическое удаление отходов ресурсов Сетки событий с помощью методик оптимизации:
Удалите неиспользуемые разделы сетки событий, подписки и конечные точки, которые создают затраты без значения.
Очистка заброшенных ресурсов, включая места назначения недоставленных сообщений и неиспользуемые темы.
Настройте политики хранения событий для балансировки доступности данных с затратами на хранение.
Оптимизируйте параметры доставки, политики повторных попыток и правила фильтрации, чтобы повысить эффективность затрат.
Выполните регулярные аудиты ресурсов, чтобы определить недоиспользуемые ресурсы, которые можно консолидировать или вывести из эксплуатации.
Консолидация аналогичных подписок для снижения затрат на управление.
Реализуйте механизмы мониторинга затрат и контроля: Отслеживайте шаблоны использования, объемы операций и тенденции расходов, чтобы обеспечить видимость затрат. Используйте аналитику затрат, чтобы определить факторы затрат, включая объёмы событий, попытки доставки и передачу данных между регионами.
Настройте оповещения бюджета, ограничения расходов и автоматические политики для управления затратами. Для уровня "Стандартный" отслеживайте проценты использования TU, чтобы найти возможности для оптимизации и настроить оповещения для порогов использования. Включите мониторинг в режиме реального времени, чтобы рано выявлять аномалии расходов.
Реализуйте отчеты о затратах, чтобы получить подробную видимость по ресурсам, среде и бизнес-единицам. Чтобы спрогнозировать будущие затраты, выполните исторический анализ для выявления тенденций и сезонных шаблонов.
Создание политик управления затратами и элементов управления: Определите управление затратами с помощью политик организации, чтобы поощрять ответственные расходы. Используйте политики ресурсов, чтобы обеспечить экономическую эффективность и избежать потенциально дорогостоящих ошибок.
Создание рабочих процессов утверждения для высокозатратных развертываний и использования функций. Выполните регулярные проверки затрат и оценки оптимизации для поддержания дисциплины затрат. Применение элементов управления на основе политик для применения требований к тегам, ограничений ресурсов и стандартов распределения затрат.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Используйте руководство по сравнению уровней , чтобы выбрать уровень сетки событий на основе необходимых функций и ограничений затрат. Регулярно проверяйте шаблоны использования, чтобы проверить выбор уровня. | Запрещает платить за неиспользуемые функции уровня "Премиум" и сопоставляет возможности уровня с шаблонами использования. |
| Настройте пакетную обработку событий для доставки нескольких событий в отдельных операциях. Примените фильтры событий на уровне подписки, чтобы обрабатывать только соответствующие события. | Сокращает затраты на операции путем пакетной доставки и устраняет затраты на обработку неуместных событий. |
| Отслеживайте шаблоны обработки событий и пиковое использование с помощью мониторинга доставки событий для установления базовой емкости. Используйте метрики пропускной способности для оптимизации ресурсов. Учет сезонных вариаций и прогнозов роста при планировании емкости. |
Запрещает перенаборку. Обеспечивает достаточную производительность для пиковых нагрузок путем настройки емкости на основе шаблонов использования. |
| Оптимизируйте конфигурации доставки, такие как время ожидания и параметры повторных попыток, чтобы сбалансировать надежность с затратами. Дополнительные сведения см. в разделе "Доставка и повторная попытка". Используйте фильтрацию событий для настройки правил обработки "мертвых писем". | Снижает затраты на повторные попытки и обеспечивает надежность, минимизируя затраты на хранение и сохраняя видимость ошибок. |
|
Используйте microsoft Cost Management для отслеживания шаблонов расходов и реализации аналитики затрат. Настройте автоматизированные отчеты о затратах, которые упорядочивают затраты по ресурсам, среде и бизнес-единицам. Используйте анализ затрат для выявления высокопроизводительных операций и возможностей оптимизации. |
Обеспечивает видимость шаблонов расходов. Помогает назначать затраты командам и выявлять высокопроизводительные операции. |
| Настройте оповещения о затратах , включающие несколько пороговых уровней на уровне подписки, группы ресурсов и разделов. Включите обнаружение аномалий затрат, чтобы определить необычные шаблоны расходов. Настройте ограничения бюджета с автоматическими оповещениями и ограничениями расходов. Реализуйте прогноз бюджета на основе тенденций обработки. |
Предотвращает превышение затрат с ранними предупреждениями на нескольких уровнях организации, перехватывает проблемы конфигурации или необычные шаблоны использования и помогает планировать будущие расходы на основе прогнозируемого роста. |
| Применяйте теги ресурсов, используя согласованные соглашения об именах, такие как среда, приложение, бизнес-единица, центр затрат и проект. Добавьте теги в раздел, подписку и уровни конечных точек для детализированного отслеживания. | Позволяет назначать затраты определенным бизнес-единицам и проектам для обратной оплаты и выявлять шаблоны обработки событий высокой стоимости. |
Операционное превосходство
Операционное совершенство в основном сосредоточено на процедурах, касающихся практик разработки , наблюдаемости и управления релизами. Принципы проектирования операционной эффективности обеспечивают высокоуровневую стратегию проектирования для достижения этих целей в соответствии с операционными требованиями рабочей нагрузки.
Контрольный список разработки рабочей нагрузки
Начните разработку стратегии на основе контрольного списка проверки разработки для операционного превосходства для определения процессов наблюдаемости, тестирования и развертывания, связанных с Event Grid.
Оценка готовности команды к операциям сетки событий: Разработка рабочих знаний вашей команды в разработке схемы событий, конфигурации маршрутизации, шаблонах потребителей, обработке недоставленных писем, политиках повторных попыток и управлении подписками.
Создайте документацию по рекомендациям проектирования схем, шаблонам конфигурации подписки и операционным инструкциям по устранению неполадок. Шаблоны маршрутизации событий документа, требования к конечной точке и стратегии обработки ошибок.
Установите стандарты для процедур управления версиями схем и развертывания потребителей. Определите процессы управления жизненным циклом служб, включая подготовку тем, жизненный цикл подписки и рабочие процессы вывода из эксплуатации.
Установите методики безопасного развертывания: Реализуйте сине-зеленое развертывание с помощью параллельных конфигураций разделов с маршрутизацией трафика. Используйте прогрессивное развертывание с версионированием схем в телах сообщений событий и поэтапном развертывании пользователей.
Определите процедуры отката для быстрого восстановления с помощью реверсии конфигурации и отката развертывания. Настройте шлюзы качества, включая проверку схемы, проверки работоспособности конечных точек и проверку доставки.
Реализуйте IaC для управления ресурсами: Используйте средства IaC, такие как шаблоны Azure Resource Manager (шаблоны ARM), Bicep и Terraform, чтобы настроить ресурсы и управлять конфигурациями. Настройте файлы параметров для средоспецифических настроек, таких как именование тем, фильтры подписок и политики безопасности. Включите разделы, подписки, фильтры событий, назначения недоставленных букв и параметры безопасности в конфигурации.
Реализуйте многоуровневое развертывание для обработки зависимостей между ресурсами Сетки событий, службами потребителей и поставщиками удостоверений. Настройте обнаружение смещения для перехвата отклонений от нужных фильтров подписки, политик повторных попыток и параметров безопасности.
Проектирование конвейеров сборки и развертывания для рабочих нагрузок: Проектирование архитектуры конвейера для координации развертывания раздела, конфигурации подписки и выпусков потребительских приложений. Реализуйте развертывание, зависяющее от среды, для различных конфигураций, таких как именование разделов, фильтры подписок и политики безопасности.
Используйте средства CI/CD, такие как Azure DevOps и GitHub Actions, для поддержки развертывания ресурсов и координации потребителей. Настройте шлюзы безопасности, такие как проверка схемы, проверка безопасности конечной точки и проверки соответствия.
Реализуйте управление артефактами для шаблонов конфигурации, определений схем и пакетов развертывания потребителей. Настройте интеграцию мониторинга для получения сведений об успешности развертывания и состояния системы после развертывания.
Реализуйте мониторинг и ведение журнала для операций: Определите стратегию наблюдаемости для отслеживания метрик доставки, телеметрии потребителей и сквозного потока событий. Отслеживайте метрики сервисов, такие как уровни успешной доставки, счетчики повторных попыток, объемы недоставленных сообщений и задержка обработки. Реализуйте структурированное ведение журнала для записи идентификаторов корреляции событий, результатов обработки, сведений об ошибках и контекста устранения неполадок.
Интегрируйте Azure Monitor для получения аналитики Event Grid, включая операционные тенденции и аналитические данные. Настройте систему оповещений для поддержания оповещений, касающихся конкретных аспектов надежности, производительности, безопасности и затрат.
Включите распределённую трассировку для обеспечения сквозной видимости от публикации событий до обработки потребителей. Создание панелей мониторинга для видимости рабочих нагрузок в режиме реального времени и работоспособности службы "Сетка событий".
Создание операций и процедур реагирования на чрезвычайные ситуации: Определите процессы реагирования на инциденты для сбоев доставки, сбоев потребителей, сбоев региональной службы и каскадных сбоев. Настройте операции переключения на резерв для региональных сбоев посредством репликации тем между регионами и координации потребителей.
Создайте процедуры реагирования на чрезвычайные ситуации для сценариев доставки критически важных событий, включая критически важные для бизнеса приоритеты обработки и восстановления. Определите протоколы связи для координации реагирования на инциденты между распределенными командами, которые управляют инфраструктурой и приложениями.
Автоматизация операций управления сеткой событий и поддержки: Автоматизация административных задач, таких как создание раздела, управление подписками, настройка фильтра событий и настройка недоставленных писем. Автоматизация операций поддержки, таких как устранение неполадок с сбором данных, агрегирование журналов, воспроизведение событий и задачи обслуживания. Настройте обнаружение смещения для отслеживания фильтров подписок, политик повторных попыток и параметров безопасности.
Используйте API службы автоматизации, Logic Apps и Сетки событий для создания автоматизации. Создайте многократно используемые модули автоматизации, которые можно совместно использовать между рабочими нагрузками.
Реализуйте стратегии тестирования и проверки: Определите стратегии тестирования, такие как проверка схемы, проверка конечной точки, сквозная обработка и тестирование интеграции. Реализуйте платформы автоматизации тестирования, которые постоянно проверяют совместимость схем и обработку потребителей.
Создайте тестовые среды, соответствующие вашей производственной среде, включая конфигурации топиков, подписки и развёртывания клиентов. Применение подходов к рабочему тестированию, таких как публикация событий, проверка работоспособности потребителей и управляемое воспроизведение событий. Используйте такие средства тестирования, как платформы проверки схемы, служебные программы тестирования конечных точек и возможности моделирования.
Проверьте процедуры отката, чтобы убедиться, что можно восстановить систему посредством восстановления конфигурации и возврата к предыдущему развертыванию.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Разработка модулей IaC с помощью шаблонов ARM, Bicep или Terraform для разделов, подписок, доменов и конфигураций безопасности. Создание модульных конструкций с параметрами для различных сценариев и параметров среды. | Обеспечивает согласованные развертывания в средах, позволяет повторно использовать компоненты и упрощает обслуживание. |
| Настройте параметры диагностики для маршрутизации системных разделов сетки событий, пользовательских тем и журналов домена в рабочую область Log Analytics. Включите журналы ресурсов для операций плоскости данных, таких как попытки доставки событий и ответы веб-перехватчика. Создайте панели мониторинга с помощью рабочих книг Azure Monitor, которые показывают такие метрики, как показатели успешной доставки, количество повторных попыток, объемы недоставленных сообщений и задержка обработки. Настройте правила оповещения для проблем работоспособности операций, таких как сбои доставки, высокая задержка и накопление недоставленных писем. |
Обеспечивает контроль над эффективностью доставки событий и состоянием служб. Помогает быстро обнаруживать проблемы и устранять неполадки с помощью централизованного ведения журнала и оповещений. |
| Отслеживайте сбои доставки, снижение задержки и накопление очереди недоставленных писем с помощью оповещений Azure Monitor. Используйте правила генерации оповещений на основе метрик для отслеживания этих проблем. Настройте группы действий для автоматического реагирования, отправляя уведомления, выполняя рабочие процессы Logic Apps или вызывая модули Runbook. Реализуйте интеллектуальное оповещение с помощью динамических пороговых значений. Эта функция изучает обычные шаблоны и оповещения только при отклонении метрик от базовых показателей, что снижает ложные оповещения. Подавляйте оповещения во время планового обслуживания и развертываний, чтобы уменьшить количество уведомлений о ожидаемых изменениях. |
Помогает быстро реагировать на операционные проблемы с помощью автоматизированных оповещений и действий. Интеллектуальное оповещение снижает ложные оповещения и операционные издержки, сохраняя сведения о работоспособности служб. |
| Разработка процедур реагирования на инциденты для неудач доставки, прерывания обслуживания потребителей и региональных переключений при отказах. Создайте модули Runbook , которые автоматизируют распространенные задачи, такие как обработка очередей недоставленных писем, откат конфигураций и восстановление службы. Создайте протоколы связи, определяющие, кому передавать на более высокий уровень, как уведомлять заинтересованных лиц и как отчитываться о статусе. Определите время восстановления (RTO) и процедуры для различных сценариев сбоя, от частичных сбоев до полных перебоев в обслуживании. |
Включает согласованный ответ на инциденты, который сводит к минимуму влияние службы и время восстановления. Предоставляет стандартные процедуры, обеспечивающие согласованный ответ в разных сценариях сбоя. |
| Автоматизация административных задач, таких как управление подписками, разделами подготовки и обслуживание конфигураций с помощью API службы автоматизации, Logic Apps и Сетки событий. Создайте многократно используемые модули автоматизации для распространенных операций, таких как обновления фильтров, конфигурация конечной точки и приложение политики безопасности. Используйте политику Azure для обнаружения смещения конфигурации в фильтрах подписок, политиках повторных попыток и параметрах безопасности. Реализуйте автоматическое исправление для устранения этих отклонений без вмешательства вручную. |
Сокращает рабочие усилия вручную, обеспечивая согласованность конфигурации и соответствие требованиям. Позволяет заранее управлять конфигурацией, чтобы предотвратить операционные проблемы с помощью автоматического мониторинга и исправления. |
Эффективность производительности
Эффективность производительности заключается в поддержании пользовательского опыта даже в условиях увеличения нагрузки за счёт управления ресурсами. Стратегия включает масштабирование ресурсов, определение потенциальных узких мест и оптимизацию для достижения пиковой производительности.
Принципы проектирования эффективности производительности предлагают высокоуровневую стратегию для достижения этих целей по емкости с учетом ожидаемого использования.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка проектирования для эффективности производительности. Определите базовые показатели, основанные на ключевых показателях производительности сетки событий.
Планирование емкости для пропускной способности обработки событий и масштабируемости: Оцените требования к объему событий на основе бизнес-потребностей, таких как пиковые нагрузки по событиям, размеры сообщений и шаблоны подписки. Анализ тенденций данных исторических событий, сезонных вариаций и прогнозов расширения бизнеса для планирования роста. Включите ограничения и квоты служб в проект, включая события для каждого раздела, ограничения подписки и ограничения региональной пропускной способности.
При планировании пропускной способности учитывайте возможность обработки запросов потребителей. Медленные потребители создают обратную прессу, которая влияет на производительность системы.
Перед началом производства подтвердите ваши оценки производительности с помощью нагрузочного тестирования и развертывания проверки концепции на практике.
Определите стратегии масштабирования для тем и потребителей: Выберите один из двух подходов масштабирования. Используйте масштабирование по теме или масштабирование потребителей в зависимости от характеристик рабочей нагрузки. Для масштабирования разделов распределяйте нагрузку между несколькими разделами при подходе к ограничениям пропускной способности. Упорядочение тем по функциональным границам или географическим регионам. Для масштабирования на уровне потребителей используйте премиум-планы функций, контейнерные приложения Azure или AKS для автоматического масштабирования на основе глубины очереди и спроса на обработку.
Настройте фильтрацию и маршрутизацию подписок для распределения нагрузки между потребителями. Чтобы разработать автоматизацию масштабирования, используйте метрики Azure Monitor и возможности автомасштабирования.
Тестирование эффективности масштабирования с помощью нагрузочного тестирования для проверки триггеров, задержек и влияния на производительность.
Мониторинг производительности доставки событий: Установите базовые показатели производительности, такие как пороговые значения задержки (p50, p95, p99 percentiles), целевые показатели пропускной способности и тесты времени обработки. Отслеживайте использование емкости, чтобы определить, когда следует настраивать масштабирование или оптимизацию. Отслеживайте узкие места в конвейере доставки, включая производительность издателя, задержку службы, сетевое подключение и время обработки потребителей.
Настройте оповещения для снижения производительности, включая пики задержки, снижение пропускной способности и замедление обработки. Анализ тенденций производительности для выявления шаблонов, сезонных вариаций, постепенного снижения и возможностей оптимизации.
Используйте распределенную трассировку для анализа производительности на уровне транзакции и определения узких мест в конвейере доставки событий.
Проведение тестирования производительности для шаблонов доставки событий и емкости потребителей: Проектируйте тестовые сценарии, которые имитируют обычную нагрузку, пиковую нагрузку и стрессовые условия с реалистичными шаблонами публикации событий. Чтобы получить значимые результаты, необходимо максимально точно сопоставить рабочую конфигурацию. Используйте средства нагрузочного тестирования для тестирования производительности доставки, включая всплеск трафика и устойчивую нагрузку.
Выполните систематические тесты, чтобы установить базовые показатели. Этот подход помогает понять возможности службы, задержки и ограничения пропускной способности. Проверьте настройку автомасштабирования, чтобы убедиться, что она активируется правильно и правильно распределяет нагрузку в различных условиях.
Анализируйте результаты, чтобы определить узкие места, задержки масштабирования и возможности оптимизации.
Оптимизация конфигураций доставки событий и показателей производительности потребителей: Настройте параметры доставки, такие как политики повторных попыток, тайм-ауты и места назначения неполученных сообщений, чтобы максимально повысить вероятность успеха при минимизации задержки. Реализуйте фильтры подписок для уменьшения ненужных операций обработки и доставки только соответствующих событий. Для максимальной пропускной способности оптимизируйте шаблоны потребителей, включая пакетную обработку, параллельную обработку и пул подключений.
Оптимизируйте нагрузки с помощью эффективной сериализации, сжатия и проектирования схем. Отслеживайте и оптимизируйте производительность с помощью метрик, телеметрии и результатов тестирования.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Создайте несколько тем и упорядочьте их по функциональным границам, географическим регионам или типам событий. Настройте соглашения об именовании разделов и логику маршрутизации для автоматического выбора раздела. Отслеживайте метрики уровня раздела, чтобы определить, когда темы подходят к их ограничениям пропускной способности. |
Преодолевает ограничения пропускной способности одного раздела и обеспечивает логическое разделение, которое повышает удобство обслуживания и безопасность. Позволяет масштабировать определенные домены событий независимо. |
| Настройте потребительские приложения для автоматического масштабирования на основе объема событий Event Grid. Для пуш доставки реализуйте потребительские приложения с помощью плана Premium или Dedicated для масштабирования на основе входящих событий. Для доставки по запросу с разделами пространства имен разработка потребительских приложений с динамическими возможностями масштабирования. Настройте политики повторных попыток событийной сетки и целевые местоположения для невручённых сообщений, чтобы обеспечить надежную доставку во время масштабирования операций потребителей. Используйте фильтры подписок для распределения событий между несколькими экземплярами потребителей. |
Пользовательские приложения обрабатывают пики трафика с помощью автоматического масштабирования. Обеспечивает эффективность ресурсов с помощью динамического масштабирования. Функции повторной попытки и мертвой буквы в Event Grid повышают устойчивость во время перехода к масштабированию. |
Настройте Azure Monitor для сбора метрик производительности, таких как DestinationProcessingDurationInMs, PublishSuccessDurationInMsи процентилей задержки доставки. Настройте пользовательские метрики с помощью Application Insights для специфичных для пользователя времен обработки и сквозной задержки. Создайте панели мониторинга производительности с помощью рабочих книг Azure Monitor, которые отображают тенденции латентности, скорость пропускной способности и распределение по времени обработки. |
Обеспечивает оптимизацию производительности с помощью анализа задержки и пропускной способности. Определяет тенденции производительности и шаблоны снижения производительности. Поддерживает планирование емкости с помощью мониторинга пропускной способности. |
| Настройте оповещения о снижении задержки, в том числе если пороговые значения процентиля p95 и p99 превышают базовые показатели производительности. Настройте динамические пороговые значения для обнаружения снижения пропускной способности и замедления обработки. Реализовать оповещения об увеличении времени обработки потребителей, что свидетельствует об узких местах производительности. Настройте оповещения, когда использование емкости приближается к пороговым значениям масштабирования. |
Обнаруживает снижение производительности перед тем, как оно влияет на взаимодействие с пользователем. Заранее оптимизирует производительность с помощью раннего обнаружения. Определяет узкие места при мониторинге времени обработки. |
| Используйте распределенные данные трассировки для анализа узких мест производительности в конвейере доставки событий. Отслеживайте метрики производительности на уровне транзакций, чтобы определить медленные зависимости и оптимизировать обработку потребителей. Анализ карты приложения для выявления зависимостей с высокой задержкой и оптимизации путей потока событий. Настройте профилирование производительности, чтобы получить подробный анализ времени обработки издателя и потребителя. |
Определяет конкретные узкие места производительности на уровне транзакции. Предназначен для оптимизации на основе подробного анализа производительности. Повышает производительность с помощью оптимизации зависимостей. |
| Используйте нагрузочное тестирование для создания реалистичных шаблонов публикации в различных условиях загрузки. Реализуйте пользовательские скрипты с помощью JMeter или K6 для публикации событий во время тестирования с реалистичными размерами и частотами. Настройте тестовые сценарии, чтобы довести вашу систему до её квот и ограничений. Измеряйте частоту успешного выполнения доставки, задержку, пропускную способность и частоту ошибок. |
Проверяет эффективность доставки перед началом производственного процесса. Определяет ограничения служб, чтобы можно было точно спланировать емкость. Предоставляет конкретные данные для принятия решений по оптимизации. |
| Тестирование поведения автомасштабирования в реалистичных рабочих нагрузках с помощью функций, приложений контейнеров или AKS. Измеряйте задержку обработки, обработку глубины очереди и задержки масштабирования во время вариаций нагрузки. Проверьте политики повторных попыток, обработку недоставленных писем и обработку ошибок при высокой нагрузке. Проверьте, насколько эффективно фильтруются подписки, и как распределяется нагрузка между экземплярами. |
Предотвращает узкие места производительности с помощью проверенного масштабирования. Гарантирует, что потребители могут обрабатывать шаблоны доставки под высокой нагрузкой. Повышает уверенность в комплексной производительности обработки. |
| Оптимизируйте способ обработки временных сбоев в системе, чтобы предотвратить влияние на производительность. Настройте политики повторных попыток подписки с экспоненциальной задержкой, оптимизированной для моделей потребления. Задайте значения времени ожидания доставки на основе возможностей потребителей и сетевых характеристик. Реализуйте фильтрацию подписок с помощью расширенного синтаксиса для доставки только соответствующих событий. Настройте назначения недоставленных писем с помощью хранилища и мониторинга. |
Ускоряет доставку путем настройки повторных попыток и фильтрации ненужных событий. Снижает нагрузку на трафик и обработку. Балансирует надежность и производительность. |
Политики Azure
Azure предоставляет широкий набор встроенных политик, связанных с сеткой событий и его зависимостями. Некоторые из предыдущих рекомендаций можно проверять с помощью политики Azure. Например, можно проверить, можно ли:
- Домены Event Grid используют приватное соединение
- Разделы сетки событий используют приватную ссылку
- Ведение журнала по группам категорий для доменов сетки событий в Log Analytics
- Ведение журнала по группам категорий для тем Event Grid включено в Log Analytics.
Для комплексного управления ознакомьтесь со встроенными определениями политики Azure для сетки событий и других политик, которые могут повлиять на безопасность инфраструктуры обмена сообщениями.
Рекомендации Помощника по Azure
Помощник по Azure — это персонализированный облачный консультант, который поможет вам следовать рекомендациям по оптимизации развертываний Azure.
Для получения дополнительной информации см. Azure Advisor.