Побег из монолитного ада¶
Приложение представляет собой монолит гексагональной архитектуры. Состоит из бизнес-логики, окруженной адаптерами, направленными извне (API, веб-интерфейс), так и вовне (БД, внешние сервисы).
Недостатки влияют не на функциональные требования (можно реализовать бизнес-требования любым способом). Однако есть требования к качесту обслуживания, они же нефункциональные требования или атрибуты качества.
Что есть микросервисная архитектура (микросервисы)? — это стиль проектирования, который разбивает приложение на отдельные сервисы с разными функциями, каждый сервис имеет чёткий перечень связанных между собой обязанностей. То есть — масштабирование по оси Y куба масштабирования. Также стоит отметить естественным (в этом подходе) образом появляющуюся модульность, когда каждый сервис представляет собой отдельный модуль.
Ключевой особенностью микросервисов является то, что сервисы слабо связаны между собой и взаимодействуют друг с другом только через API. Слабую связанность обеспечивает, в частности, тот факт, что у каждого сервиса — своя БД (хранилка). Это позволяет менять схемы независимо для каждого сервиса, а также изолировать их на этапе выполнения.
Есть мнение, что микросервисы — часть SOA (Service-Oriented Architecture). На самом деле есть различия.
Автор предлагает для лучшего понимания работы с микросервисами язык шаблонов микросервисной архитектуры
Микросервисная архитектура также требует правильной организации развертывания и доставки — DevOps.
Дата создания : 23 июля 2022 г.