Я разрабатываю новое приложение для микросервисов, которое станет частью большой архитектуры с множеством других микросервисов. Это приложение должно получать контент из других приложений, и я хочу инкапсулировать HTTP-вызовы на уровне сервиса. Но я заметил, что есть два разных подхода.
Предположим, что мое приложение получит контактную информацию от другого микросервиса, развернутого как User API.
Бизнес как файл
В этом подходе в качестве имени файла используется название компании. Внутри файла есть только один общедоступный метод get
, который принимает единственный параметр. Метод вызывает user-api/contact/{id}
.
Имя файла: contact.service.js
Метод: get(id) -> contact
API как файл
Этот подход инкапсулирует всю связь между User API и пользовательским приложением в один файл. Для каждой конечной точки существует свой метод User API.
Имя файла: user.service.js
Метод: getContact(id) -> contact
Каковы плюсы и минусы этих подходов?