Как организовать взаимодействие между REST бэкендами?

Добрый день. Имеется несколько серверов с сервисами, реализующими REST API. Некоторые запросы в своей работе от одного сервера должны обменяться данными с другими бэкендами. Вопрос - какие есть best practice?

Понятно, что на клиентском приложении оно отправляет запросы куда надо и аггрегирует результат в браузере. Но как это лучше делать если серверам нужны данные друг от друга? Обычные curl запросы?
  • Вопрос задан
  • 665 просмотров
Решения вопроса 1
copist
@copist
Empower people to give
Это называется SOA: сервисы, общающиеся между собой.

Таким образом, например, посылается почта - один бакенд (твой сервер) передаёт соощение другому бакенду (почтовый сервер) по протоколу SMTP.
Можно заливать файлы на другой сервер - протокол WebDAV, FTP или CSP.
Твой сервер может постить твиты от имени другого пользователя - это делается через HTTP, при наличии токена авторизации. Запросы отправляются через curl или Guzzle.

Но как это лучше делать если серверам нужны данные друг от друга? Обычные curl запросы?

В общем, curl - это норм.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
miraage
@miraage
Старый прогер
Не вижу ничего плохого в том, чтобы использовать curl.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Обычные curl (или лучше Guzzle) запросы внутри сервисов-репозиториев. Тогда вы сможете в будущем отказаться от curl и перейти на MQ например или еще как... зависит от задачи и целей которые вы приследуете.
Ответ написан
Комментировать
@ph4n70m Автор вопроса
Спасибо за ответы! Буду копать в сторону SOA
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы