Идеи решения
Эта статья является идеей решения. Если вы хотите расширить содержимое с дополнительными сведениями, такими как потенциальные варианты использования, альтернативные службы, рекомендации по реализации или рекомендации по ценам, сообщите нам, предоставив отзыв GitHub.
Эта архитектура предоставляет решение с высоким уровнем доступности для веб-приложения, использующего большие объемы данных. Дополнительный регион служит резервным для основного, повышая доступность. Основной регион отправляет данные в дополнительный с помощью встроенных возможностей реплика tion служба хранилища Azure.
Данные хранятся в таблицах Azure служба хранилища. Как и в любой службе служба хранилища Azure, данные таблицы служба хранилища реплика синхронно три раза в основном регионе. Чтобы сделать его доступным для резервного использования, он также реплика асинхронно три раза в дополнительном регионе. Сведения о служба хранилища Azure реплика избыточности см. в разделе служба хранилища Azure избыточности.
Архитектура включает кэш таблиц для уменьшения нагрузки доступа и улучшения ответа приложения.
Примечание.
В некоторых случаях приложению может потребоваться несколько учетных записей хранения. Дополнительные сведения см. в разделе "Рекомендации ".
Потенциальные варианты использования
Архитектура может быть подходящей для любого приложения, использующего большие объемы данных, которые всегда должны быть доступны. Примеры включают приложения, которые:
- Отслеживайте привычки расходов клиентов и поведение покупок.
- Прогноз погоды.
- Предлагайте интеллектуальные системы трафика или реализуйте интеллектуальные системы трафика или используйте смарт-технологию для мониторинга трафика.
- Анализ производственных данных Интернета вещей (IoT).
- Отображение данных смарт-счетчика или использование смарт-технологий для мониторинга данных счетчика.
Архитектура
Скачайте файл Visio для этой архитектуры.
Поток данных
- Клиент проходит проверку подлинности с помощью идентификатора Microsoft Entra и предоставляет доступ к веб-приложениям, размещенным в службе приложение Azure.
- Azure Front Door, брандмауэр и подсистема балансировки нагрузки уровня 7, переключает трафик пользователей в резервный регион в случае регионального сбоя.
- приложение Azure служба размещает веб-сайты и ВЕБ-API RESTful. Клиенты браузера запускают приложения AJAX, использующие API.
- Веб-API делегировать приложения-функции для обработки фоновых задач. Задачи помещаются в очередь в очереди служба хранилища очередей Azure.
- Приложения-функции, размещенные Функции Azure выполняют фоновые задачи, активируемые очередными сообщениями.
- Кэш Azure для Redis кэширует табличные данные для приложений-функций. Это выгрузит активность базы данных и ускоряет работу приложений-функций и веб-приложений.
- Таблица Azure служба хранилища содержит данные, используемые веб-приложениями.
- Таблица служба хранилища поддерживает синхронную реплика зоны доступности в регионе для устранения сбоев центра обработки данных. В нем также используется асинхронное реплика 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 | Архитектор облачных решений — инновации в сфере цифровых технологий и приложений