apiquestion
@apiquestion
Студент

Вопрос по микросервисам?

Недавно прочитал пару статей по микросервисам. Если я правильно понял, микросервис - маленькая библиотека, ответственная за какую-то фичу в приложении.
Допустим, есть приложение, хранящее информацию об автомобилях. Мы можем сделать следующие сервисы: один для работы с информацией об автомобилях, второй для работы с информацией о деталях, из которых собраны автомобили. Каждый сервис может хранить свои данные в разных БД.
Возникает вопрос: что, если в основном приложении нам нужно найти автомобили, содержащий в себе какую-то деталь?
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ответы на вопрос 1
@lubezniy
Микросервис - это, скорее, не библиотека, а автономный (ключевое слово!) небольшой модуль, выполняющий какие-либо функции. И делается он так, чтобы его можно было свободно перенести не то, что в другую БД, а даже на другое оборудование, поменяв для этого лишь настройки связи с другими частями приложения. Или масштабировать, если задействовать несколько серверов одновременно - каждый со своим экземпляром микросервиса. При проектировании микросервисной архитектуры нужно детально описывать связи между модулями (в т. ч. микросервисами) и передаваемую информацию - вплоть до полного протокола обмена.
По Вашему описанию применение микросервисной архитектуры вряд ли можно считать разумным. SQL-сервер всяко лучше разберётся с выборкой данных из связанных таблиц, чем самопальная архитектура. А масштабироваться при большой посещаемости вполне можно обычным кластером с балансировщиком нагрузки, данные (они же сравнительно редко обновляются?) при этом передавать через репликацию или просто скриптовым деплоем изменений в БД по всем серверам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы