Архитектура микрослужб широко используется для создания устойчивых, высокомасштабируемых, независимо развертываемых и быстро развивающихся облачных приложений. Но это не просто специальный термин. Применение микрослужб требует другого подхода к разработке и созданию приложений.
В этой серии статей мы рассмотрим, как создать архитектуру микрослужб в Azure. Разделы включают:
- Параметры вычислений для микрослужб
- Обмен данными между службами
- Проектирование API
- Шлюзы API
- Рекомендации в отношении данных
- Конструктивные шаблоны
Необходимые компоненты
Перед прочтением этих статей вы можете ознакомиться со следующими материалами:
- Введение в архитектуру микрослужб. Описание преимуществ и недостатков микрослужб, а также сценариев использования этого стиля архитектуры.
- Анализ предметной области для моделирования микрослужб. Моделирование микрослужб с использованием предметно-ориентированного подхода.
Эталонная реализация
Чтобы предоставить некоторые рекомендации по использованию архитектуры микрослужб, мы создали пример реализации, который назвали приложением для доставки с помощью дронов. В примере реализации используется Kubernetes со Службой Azure Kubernetes (AKS). Этот пример реализации можно найти на GitHub.
Скачайте файл Visio для этой архитектуры.
Сценарий
Компания Fabrikam запускает службу доставки беспилотными летательными аппаратами. Она управляет парком таких аппаратов. Компании регистрируются в этой службе и пользователи могут отправлять заявки на использование дрона для доставки товаров компаний. Когда клиент планирует отгрузку, серверная система назначает аппарат и сообщает пользователю предполагаемое время доставки. В ходе доставки клиент может отслеживать местоположение дрона, получая актуальные сведения об ожидаемом времени доставки.
Это решение идеально подходит для аэрокосмической и авиационной промышленности.
Этот сценарий довольной сложный, так как его этапы включают планирование загруженности беспилотных летательных аппаратов, отслеживание посылок, управление учетными записями пользователей, а также хранение и анализ исторических данных. Кроме того, компания Fabrikam хочет быстро выйти на рынок, а затем быстро повторить этот процесс, добавив новые функции и возможности. Приложение должно работать в масштабе облака с высоким целевым уровнем обслуживания. Компания также ожидает, что в разных частях системы требования к хранению данных и выполнению запросов будут очень отличаться. С учетом всех этих факторов Fabrikam выбрала архитектуру микрослужб для приложения доставки беспилотными летательными аппаратами.
Примечание.
Если вам нужна помощь в выборе между микрослужбами и другими архитектурами, ознакомьтесь с руководством по архитектуре приложений Azure.
В примере реализации используется Kubernetes со Службой Azure Kubernetes (AKS). Однако многие из высокоуровневых архитектурных решений и проблем будут применяться к любому оркестратору контейнеров.