Веб-приложение с поддержкой двух регионов и отработкой отказа в Хранилище таблиц

Azure Front Door
Служба приложений Azure
Функции Azure
Хранилище таблиц Azure
Кэш Azure для Redis

Идеи решения

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

Эта архитектура предоставляет решение с высоким уровнем доступности для веб-приложения, использующего большие объемы данных. Дополнительный регион служит резервным для основного, повышая доступность. Основной регион отправляет данные в дополнительный с помощью встроенных возможностей реплика tion служба хранилища Azure.

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

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

Примечание.

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

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

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

  • Отслеживайте привычки расходов клиентов и поведение покупок.
  • Прогноз погоды.
  • Предлагайте интеллектуальные системы трафика или реализуйте интеллектуальные системы трафика или используйте смарт-технологию для мониторинга трафика.
  • Анализ производственных данных Интернета вещей (IoT).
  • Отображение данных смарт-счетчика или использование смарт-технологий для мониторинга данных счетчика.

Архитектура

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

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

Поток данных

  1. Клиент проходит проверку подлинности с помощью идентификатора Microsoft Entra и предоставляет доступ к веб-приложениям, размещенным в службе приложение Azure.
  2. Azure Front Door, брандмауэр и подсистема балансировки нагрузки уровня 7, переключает трафик пользователей в резервный регион в случае регионального сбоя.
  3. приложение Azure служба размещает веб-сайты и ВЕБ-API RESTful. Клиенты браузера запускают приложения AJAX, использующие API.
  4. Веб-API делегировать приложения-функции для обработки фоновых задач. Задачи помещаются в очередь в очереди служба хранилища очередей Azure.
  5. Приложения-функции, размещенные Функции Azure выполняют фоновые задачи, активируемые очередными сообщениями.
  6. Кэш Azure для Redis кэширует табличные данные для приложений-функций. Это выгрузит активность базы данных и ускоряет работу приложений-функций и веб-приложений.
  7. Таблица Azure служба хранилища содержит данные, используемые веб-приложениями.
  8. Таблица служба хранилища поддерживает синхронную реплика зоны доступности в регионе для устранения сбоев центра обработки данных. В нем также используется асинхронное реплика tion для реплика обработки данных в разных регионах Azure для устранения региональных сбоев и повышения доступности приложений.

Компоненты

  • Идентификатор Microsoft Entra — это многотенантная служба управления удостоверениями и доступом, которая может синхронизироваться с локальным каталогом.
  • Azure DNS — это служба размещения с высоким уровнем доступности для доменов DNS, которая предоставляет приложениям быстрые запросы DNS и быстрые обновления записей DNS. Управление Azure DNS похоже на управление другими службами Azure и использует те же учетные данные, API, средства и выставление счетов.
  • Azure Front Door — это безопасная сеть доставки содержимого (CDN) и подсистема балансировки нагрузки с мгновенной отработкой отказа. Он работает на границе близко к пользователям, ускоряя доставку содержимого при защите приложений, API и веб-сайтов от киберугрызений.
  • Служба приложений Azure — это полностью управляемая служба для создания, развертывания и масштабирования веб-приложений. Вы можете создавать приложения с помощью .NET, .NET Core, Node.js, Java, Python или PHP. Приложения могут выполняться в контейнерах или в Windows или Linux. При переносе мейнфреймов интерфейсные экраны и веб-интерфейс можно представить в коде как REST API на основе HTTP. Они могут быть разделены и могут быть без отслеживания состояния для оркестрации системы на основе микрослужб. Дополнительные сведения о веб-API см. в статье restful web API design.
  • Служба "Функции Azure" предоставляет среду для выполнения небольших фрагментов кода, называемых функциями, без необходимости создания инфраструктуры приложений. С ее помощью можно обрабатывать пакетные данные, интегрировать системы, работать с Интернетом вещей, а также создавать простые программные интерфейсы и микрослужбы. С помощью микрослужб можно создавать серверы, которые подключаются к службам Azure и всегда содержат актуальные сведения.
  • Служба хранилища Azure — это набор высокомасштабируемых и безопасных облачных служб для данных, приложений и рабочих нагрузок. Она включает Файлы Azure, Хранилище таблиц Azure и Хранилище очередей Azure. Файлы Azure часто являются эффективным инструментом для переноса рабочих нагрузок мейнфреймов.
  • Служба хранилища очереди Azure обеспечивает простую, эффективную и устойчивую очередь сообщений для больших рабочих нагрузок.
  • Таблица Azure служба хранилища — это хранилище ключей и значений NoSQL для быстрого разработки, использующего массовые полуструктурированные наборы данных. Таблицы без схемы и легко адаптируются в соответствии с потребностями. Доступ является быстрым и экономичным для многих типов приложений и обычно стоит меньше, чем другие типы хранилища ключей.
  • Кэш Azure для Redis — это полностью управляемая служба кэширования в памяти и брокер сообщений для обмена данными и состоянием между вычислительными ресурсами. Он включает как открытый код Redis, так и коммерческий продукт из Redis Labs в качестве управляемых служб. Вы можете повысить производительность приложений обработки транзакций в сети с высокой пропускной способностью, создав их для масштабирования и использования хранилища данных в памяти, например Кэш Azure для Redis.

Альтернативные варианты

  • Диспетчер трафика Azure направляет входящие DNS-запросы в глобальные регионы Azure на основе выбора методов маршрутизации трафика. Она также обеспечивает автоматическую отработку отказа и маршрутизацию производительности.
  • Azure сеть доставки содержимого кэширует статическое содержимое на пограничных серверах для быстрого ответа и использует оптимизацию сети для быстрого реагирования на динамическое содержимое. сеть доставки содержимого особенно полезно, если база пользователей является глобальной.
  • Служба Azure Kubernetes (AKS) — это полностью управляемая служба Kubernetes для развертывания и администрирования контейнерных приложений. Его можно использовать для реализации архитектуры микрослужб, компоненты которых масштабируется независимо по требованию.
  • Экземпляры контейнеров Azure предоставляет быстрый и простой способ выполнения задач без необходимости управлять инфраструктурой. Это полезно во время разработки или выполнения незапланированных задач.
  • Служебная шина Azure представляет собой надежную облачную службу обмена сообщениями и обеспечивает простую гибридную интеграцию. Его можно использовать вместо служба хранилища очереди в этой архитектуре. Дополнительные сведения см. в разделе служба хранилища очередей и очередей служебная шина — сравнение и контрастность.

Рекомендации

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

    • Реализация мультитенантности для поддержки нескольких клиентов
    • Поддержка клиентов с более высокими тарифами транзакций
    • Поддержка клиентов с большими наборами данных
    • Ускорение доступа к данным путем распределения данных между несколькими учетными записями хранения
    • Разделение данных на горячие, холодные и архивные уровни
    • Создание копий данных для резервного копирования и создания отчетов

    Дополнительные сведения см. в разделе "Целевые показатели масштабируемости и производительности" для таблиц служба хранилища.

  • Таблица служба хранилища реплика tion недоступна в некоторых регионах Azure.

  • Данные в дополнительном регионе имеют в конечном итоге согласованность, что означает, что между временем обновления в основном регионе происходит задержка и когда она отображается в дополнительном регионе. Так как реплика из основного региона в дополнительный регион является асинхронным, данные могут быть потеряны, если основной регион завершается ошибкой и не восстанавливается. В настоящее время соглашение об уровне обслуживания (SLA) не требуется для реплика te данных в дополнительный регион. Дополнительные сведения см. в статье Репликация службы хранилища Azure.

Соавторы

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

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

  • Nabil Siddiqui | Архитектор облачных решений — инновации в сфере цифровых технологий и приложений

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