Tutto ciò che assicura la connessione funzionerà.
L'opzione più compatibile che utilizza una VPN di livello 2 o 3 per connettere i due sistemi (e firewallli correttamente contro qualsiasi altra cosa): a meno che tu non abbia a che fare con un protocollo davvero molto strano, sei praticamente garantito che sia in grado di farlo funzionare. Il rovescio della medaglia è che può essere delicato configurarlo sugli host basati su cloud e non si adatta bene.
La seconda opzione, come hai intuito, è usare la connessione TLS tra macchine, che dipenderà molto dal software che stai usando, ma TLS è un'opzione piuttosto comune e solitamente puoi configurarlo per l'autenticazione reciproca dei certificati x509 che ti danno un buon livello di sicurezza. Nota che tutte le RPC basate su HTTP saranno in grado di utilizzare TLS e che forzare l'autenticazione reciproca è tipicamente una questione di configurazione.
La terza opzione è abilitare la crittografia all'interno dell'architettura del broker dei messaggi. Contrariamente a quanto hai scritto, molti sistemi di broker di messaggi ti permetteranno di configurare la crittografia end-to-end a livello di messaggio. Di solito non è davvero banale da implementare, comunque. per esempio, dai un'occhiata alla pagina di aiuto di WebSphere su questo argomento . Il vantaggio principale di questa opzione è che i messaggi sono criptati sia a riposo sia in transito e ciò significa che il sistema di code dei messaggi non deve essere in grado di decrittografare i messaggi stessi: tutto ciò richiede i ^ i dati enveloppe corretti.