Как правильно организовать общение между несколькими приложениями?
Любая очередь, в зависимости от ваших требований и языков. Можете тут поизучать сравнение по производительности и посмотреть небольшое описание некоторых популярных очередей: https://softwaremill.com/mqperf/
Описанная задача может решаться при помощи использования связующего ПО такого, как сервисная шина данных предприятия. Данный софт существует с начала 2000-х, и написано про него уже много чего и где. Начать можно, как обычно, с википедии, со статьи . Прочитайте её и на английском.