Обработка транзакций с пакетной пакетной обработкой большого объема

Служба Azure Kubernetes (AKS)
Служебная шина Azure
Виртуальные машины Azure

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

Заметка

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

Архитектура

схема архитектуры, реализованной с помощью AKS и служебной шины.

Скачайте файл Visio этой архитектуры.

Рабочий процесс

Нумерованные круги на схеме соответствуют нумерованным шагам в следующем списке.

  1. Архитектура использует разделы и очереди служебной шины для упорядочивания входных данных пакетной обработки и передачи его ниже для обработки.
  2. Azure Load Balancer, подсистема балансировки нагрузки уровня 4 (TCP, UDP), распределяет входящий трафик среди здоровых экземпляров служб, определенных в наборе балансировки нагрузки. Балансировка нагрузки и управление подключениями оптимизируют обработку.
  3. Рабочие узлы кластера AKS прослушивают конечные точки очереди служебной шины для ввода.
  4. Узлы Java используют службу сообщений Java для подключения к служебной шине и интерфейсам Java, таким как подключение к базе данных Java, для подключения к другим источникам данных. При необходимости они используют другие API Java.
  5. Восстанавливаемые транзакции выполняются вместе с бизнес-кодом для каждого шага пакетной службы.
  6. Пакетная инфраструктура использует ускоренную сеть Azure для скорости.
  7. Кэш Azure для Redis, Azure Cosmos DB и Azure Stream Analytics предоставляют рабочее хранилище при необходимости.
  8. Постоянный уровень данных использует Фабрику данных Azure для интеграции данных и Управляемый экземпляр SQL Azure, критически важный для бизнеса уровень производительности для обеспечения высокой доступности. Постоянное хранилище свободно связано с простым переходом на другие технологии базы данных, а также для оптимизации организации хранения (например, с помощью сегментов или секций).
  9. Решения данных (переходные и постоянные) используют вариант геоизбыточного хранилища Azure (GRS) для защиты от катастрофических сбоев.

Компоненты

В архитектуре используются следующие компоненты:

  • виртуальной сети Azure обеспечивает безопасную частную сеть в облаке. Он может подключать виртуальные машины друг к другу, к Интернету и к локальным сетям.
  • Azure ExpressRoute предоставляет частные подключения между центрами обработки данных Azure и локальной инфраструктурой.
  • Бастион Azure предоставляет частный и полностью управляемый RDP и SSH-доступ к виртуальным машинам.
  • виртуальные машины Azure обеспечивают гибкость виртуализации, не предоставляя и поддерживая оборудование, на котором он размещен. Варианты операционной системы включают Windows и Linux.
  • Виртуальная машина, созданная с ускорением сети, использует виртуализацию одно корневых операций ввода-вывода (SR-IOV), значительно повышая производительность сети. Дополнительные сведения см. в статье Создание виртуальной машины Windows с ускорением сети с помощью Azure PowerShell и обзорединого корневого ввода-вывода (SR-IOV) .
  • Сетевой интерфейс Azure подключает виртуальную машину к Интернету, а также к azure и локальным ресурсам. Как показано в этой архитектуре, можно предоставить каждому дочернему виртуальному машине собственный сетевой интерфейс и IP-адрес. Дополнительные сведения о сетевых интерфейсах см. в статье Создание, изменение или удаление сетевого интерфейса.
  • управляемые диски Azure — это высокопроизводительное, высокопроизводительное хранилище блоков для виртуальных машин. Существует четыре варианта хранения дисков для облака: хранилище дисков ценовой категории "Ультра", SSD уровня "Премиум", "Стандартный" и "Стандартный" HDD.
  • служба Azure Kubernetes (AKS) — это полностью управляемая служба Kubernetes для развертывания контейнерных приложений и управления ими.
  • служебная шина обеспечивает надежную облачную обмен сообщениями как службу (MaaS) и простую гибридную интеграцию.
  • службы балансировки нагрузки Azure обеспечивают масштабирование для обеспечения высокой доступности и высокой производительности. Эта архитектура использует Load Balancer. Она предоставляет возможности балансировки нагрузки уровня 4 (TCP, UDP) с низкой задержкой для балансировки трафика между виртуальными машинами и между многоуровневых гибридных приложений.
  • кэш Azure для Redis — это быстрая и полностью управляемая служба кэширования в памяти для совместного использования данных и состояния между вычислительными ресурсами.
  • Azure Cosmos DB — это быстрая база данных NoSQL с открытыми API для любого масштаба.
  • Azure Stream Analytics предоставляет аналитику в режиме реального времени для быстро перемещаемых потоков данных из приложений и устройств.
  • Azure Databricks — это быстрая, простая и совместная служба аналитики больших данных на основе Apache SparkTM.
  • azure SQL — это семейство облачных баз данных SQL, которые предоставляют унифицированный интерфейс для всего портфеля SQL и широкий спектр вариантов развертывания от пограничных баз данных до облака.
  • Управляемый экземпляр SQL Azure, часть портфеля служб SQL Azure, является управляемым, безопасным и всегда up-toэкземпляром SQL даты в облаке.
  • фабрика данных — это полностью управляемое и бессерверное решение интеграции данных для подготовки и преобразования всех данных в масштабе.
  • Фабрика данных поддерживает формат данных Parquet. Дополнительные сведения см. в формате Parquet вфабрики данных Azure.
  • Log Analytics — это средство на портале Azure, используемое для редактирования и выполнения запросов журналов в журналах Azure Monitor. Дополнительные сведения см. в обзоре Log Analytics в Azure Monitor.
  • Параметр геоизбыточного хранилища (GRS) службы хранилища Azure копирует данные синхронно три раза в одном физическом расположении в основном регионе, а затем копирует его асинхронно в одно физическое расположение в дополнительном регионе. Дополнительные сведения см. в избыточности службы хранилища Azure.
  • хранилище BLOB-объектов Azure является масштабируемым и безопасным хранилищем объектов на основе REST для облачных рабочих нагрузок, архивов, озер данных, высокопроизводительных вычислений и машинного обучения.
  • файлов Azure предоставляет простые, безопасные и бессерверные общие папки корпоративного уровня в облаке. Для доступа к общим папкам используются стандартные протоколы блока сообщений сервера (SMB) и сетевой файловой системы (NFS).

Сведения о сценарии

В Azure можно реализовать пакетную обработку транзакций ( например, публикацию платежей в учетные записи) с помощью архитектуры на основе службы Microsoft Azure Kubernetes (AKS) и служебной шины Azure. Этот тип архитектуры обеспечивает скорость обработки транзакций, масштабирование и надежность, необходимую для обработки большого объема пакетной обработки.

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

Возможные варианты использования

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

  • Обработка финансовых транзакций, таких как заработная плата, заказы и платежи.
  • Обработка экспериментальных данных, собранных научными инструментами.
  • Другая пакетная обработка мейнфрейма.

Соображения

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для повышения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Надёжность

Надежность гарантирует, что ваше приложение может выполнять обязательства, которые вы выполняете для клиентов. Дополнительные сведения см. в контрольном списке проверки конструктора длянадежности.

  • Служба аварийного восстановления Azure Site Recovery защищает от крупных сбоев. Это зависимое, экономичное и простое развертывание.
  • Группы доступности для виртуальных машин обеспечивают доступность достаточного количества виртуальных машин для удовлетворения потребностей в критически важных пакетных процессах.
  • Служебная шина, AKS и Управляемый экземпляр SQL Azure обеспечивают высокий уровень доступности и возможности восстановления в географических регионах.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке конструктора длябезопасности.

  • Все компоненты в пакетной архитектуре служебной шины работают с компонентами безопасности Azure, такими как идентификатор Microsoft Entra, виртуальная сеть и шифрование.

Оптимизация затрат

Оптимизация затрат заключается в том, чтобы подумать о способах сокращения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в контрольном списке конструктора дляоптимизации затрат.

Чтобы оценить затраты на реализацию этого решения, используйте калькулятор цен .

Функции автомасштабирования кластеров AKS и другие функции Платформы Azure как услуга (PaaS), обеспечивающие масштабирование по требованию, обеспечивают минимальные затраты.

Ниже приведены рекомендации по ценообразованию для определенных компонентов:

Операционное превосходство

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

  • шаблонах Azure Resource Manager (шаблоны ARM) предоставить язык конфигурации для описания ресурсов в шаблонах, которые можно использовать для развертывания скриптов. Шаблоны также предоставляют возможности мониторинга и оповещения.

Эффективность производительности

Эффективность производительности — это возможность масштабирования рабочей нагрузки в соответствии с требованиями, заданными пользователями. Дополнительные сведения см. в контрольном списке проверки конструктора дляпроизводительности.

  • Архитектура предназначена для параллельной обработки независимых транзакций.
  • Служебная шина, AKS и другие функции Azure PaaS обеспечивают высокую производительность обработки транзакций, вычислений и хранения данных.
  • Служебная шина, AKS и другие функции Azure PaaS динамически масштабируется по мере необходимости.

Дальнейшие действия