Есть проект, который логически разбит на несколько подсистем:
- подсистема, которая работает с некоторыми внешними ресурсами - на Node.js
- подсистема, которая исполняет основную бизнес-логику - на PHP
- и фронтэнд на React
Между первыми двумя идет очень плотный обмен данными через некий внутренний HTTP REST API. Столкнулись с проблемой, когда из-за скачков нагрузки и сетевых проблем (подсистемы географически расположены на разных серверах) часть данных не доходит. Принято логичное решение перейти на очереди сообщений.
Собственно вопрос - какой вариант выбрать? Основные требования:
- наличие незаброшенных (т.е. активно развивающихся) клиентов как на PHP, так и на Node.js
- open-source, возможно, наличие облачной версии (чтобы не заморачиваться с администрирование своих серверов)
- положительный практический опыт на highload-проектах