Является ли проект микросервисным?

Можно ли назвать ваш проект аукциона микросервисной архитектурой? Или это просто разделение? Что такое микросервис?

У нас проект не микросервисный, а модульный монолит.

Монолит потому, что весь бэкенд у нас сделан в виде одного Slim-приложения, которое мы разрабатываем и деплоим залпом. То есть у нас просто фронтенд ходит в один бэкенд по API:

frontend -> backend

Микросервисная архитектура - это такой подход, в котором каждая часть разрабатывается и деплоится в виде отдельных проектов со своими БД и своими API. А фронтенд через небольшую прослойку API Gateway уже ходит к каждому сервису по их API:

                    -> auth
                    -> blog
frontend -> gateway -> comment
                    -> catalog
                    -> payment

и сервисы общаются через очередь.

При таком подходе каждый такой микропроект вроде comment и payment живёт в своём репозитории, программируется разными программистами на любом фреймворке и языке программирования и деплоится своим пайплайном.

У нас монолит именно модульный потому, что внутри проекта api мы всё равно пытаемся делить код и таблицы в БД на самостоятельные модули, которые также будут общаться через очередь. То есть притворяемся, как будто делаем сервисы. При таком подходе мы в любой момент сможем при желании разнести наш проект на реальные отдельные сервисы-проекты.

Подробнее мы эти подходы рисовали и сравнивали в нашем большом стриме про модули и микросервисы.

Дмитрий Елисеев
elisdn.ru
Комментарии (0)
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Google
GitHub
Yandex
MailRu