Бессерверная обработка потока событий в виртуальной сети с частными конечными точками

Приватный канал Azure
Центры событий Azure
Функции Azure
Azure Cosmos DB

Идеи решения

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

В этой статье описывается бессерверная архитектура на основе событий в виртуальной сети, которая обрабатывает поток данных, а затем записывает результаты в базу данных.

Архитектура

Схема, показывающая поток данных в виртуальную сеть, а затем обрабатывается архитектурой, описанной в этой статье.

Поток данных

  1. Интеграция виртуальной сети используется для того, чтобы поместить все ресурсы Azure за частные конечные точки Azure.
  2. События поступают в Концентратор событий ввода.
  3. Функция отмены пакетной обработки и фильтрации Azure активируется для обработки события. Этот шаг отфильтровывает нежелательные события и удаляет полученные события перед отправкой в Концентратор событий вывода.
  4. Если функция отмены пакетной обработки и фильтрации Azure не сохраняет событие успешно, событие отправляется в Концентратор событий Deadletter 1.
  5. События, поступающие в Концентратор событий вывода, активируют преобразование функции Azure. Эта функция Azure преобразует событие в сообщение для экземпляра Azure Cosmos DB.
  6. Событие хранится в базе данных Azure Cosmos DB.
  7. Если преобразование функции Azure не удалось сохранить событие, событие сохраняется в Концентраторе событий Deadletter 2.

Примечание.

Для простоты подсети не отображаются на схеме.

Компоненты

  • Частная конечная точка Azure — это сетевой интерфейс, который обеспечивает безопасное подключение к службе с помощью Приватного канала Azure. Частная конечная точка использует частный IP-адрес из виртуальной сети, эффективно предоставляя доступ к службе из виртуальной сети.
  • Центры событий принимают поток данных. Служба Центры событий предназначена для сценариев потоковой передачи данных с высокой пропускной способностью.
  • Функции Azure — это независимая от сервера служба вычислений. В нем используется модель на основе событий, в которой вызывается фрагмент кода ( функция) триггером.
  • Azure Cosmos DB — это служба базы данных с несколькими моделями, доступная в бессерверном режиме на основе потребления. В этом сценарии функция обработки событий сохраняет записи JSON с помощью Azure Cosmos DB для NoSQL.

Подробности сценария

Эта идея решения показывает вариант архитектуры на основе бессерверных событий, которая обрабатывает поток данных, обрабатывает данные и записывает результаты в серверную базу данных. В этом примере решение размещается в виртуальной сети со всеми ресурсами Azure за частными конечными точками.

Дополнительные сведения об основных понятиях, рекомендациях и подходах к обработке бессерверных событий см. в эталонной архитектуре обработки бессерверных событий.

Потенциальные варианты использования

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

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Автор субъекта:

  • Раджаса Савант | Старший инженер по разработке программного обеспечения

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Следующие шаги

  • Обработка бессерверных событий представляет собой эталонную архитектуру, деталисируя типичную архитектуру этого типа, с примерами кода и обсуждением важных аспектов.
  • Azure Kubernetes в обработке потоков событий описывает вариант бессерверной архитектуры на основе событий, работающей в Azure Kubernetes с масштабировщиком KEDA.