Ребята, подскажите. Есть сайт на laravel, есть сервис на nodejs, нужно осуществить их взаимодействие. Сейчас у нас всё костыльно. Сервис на nodejs крутится на той же машине что и сайт, и мы осуществляли общение cURL'ами. Люди подсказали что это дикий костыль - юзать cURL в контексте локальной машины, посоветовали заюзать Redis. Мы поставили редис (пока ещё не переписывали функционал). Так вот, этот сервис на nodejs должен так же общаться с множеством ПОДсервисов на том же nodejs. Как осуществить их взаимодействие? Они запускаются в отдельных окнах консоли (находятся в разных файлах)? Тут тоже юзать Redis, или я чего-то не понимаю. Может просто в файле основного сервиса сделать require этих ПОДсервисов. Объясните?
если хочешь реализовать общение и смотря какая архитектура и тд то я например смотрел бы не в сторону редиски,а в сторону MQ решений ( RabbitMQ, ZMQ, Gearman ) в зависимости от хотелок и уже от этого отталкивался бы, общение через очереди хорошо в том что случае если будут "тяжелые операции" и задача была асинхронной, то есть результат получить когда задача выполнилась например
Сервис А говорит в очередь нужен отчет
Сервис B, C, D слушает канал и как только появляется задача какой-то сервис берет ее и выполняет и сообщает об этом серверу очередей
Сервис А получает свой отчет
притом что сервисы B C D могут быть написаны на разных языках, и находиться физически на разных машинах и тд
ну и не говоря уже о синхронных задачах и асинхронных и тд, но в любом случае даже с редиской у тебя должен быть слушатель кто будет следить за появлением данных и как то на них реагировать, иначе они так и останутся кучей всего запущенного и тд