Powiedzmy że mam dwie aplikacje napisane w zupełnie różnych językach programowania, dajmy C++ i Python. Albo Java i JavaScript. Założenie jest takie że nie można odpalić jednego w drugim (jakby się dało np Kotlin i Groovy).
W jaki sposób można na jednej maszynie uruchomić takie dwie aplikacje, tak żeby się mogły komunikować?
- Wiadomo, niby-microserwis i komunikacja po TCP/IP, czyli pewnie HTTP - ale to może być trochę wolne, nawet na tej samej maszynie.
- Jeśli możemy korzystać z OS to można wysłać komunikat systemowy, np łapiąc hWND na Windowsie; ale nie wiem jak to się ma do requestu po sieci.
- Pośrednik, np redis/kafka?
- Podpięcie jednego pod kanały drugiego, i komunikacja używając wyjść standardowych?
Inne pomysły?
Priorytetem jest wydajność, a dokładniej mówiąc "lag" pomiędzy wysłaniem i odebraniem.