Sto cercando consigli da persone che usano RabbitMQ per collegare servizi scritti in lingue diverse. Attualmente la mia organizzazione utilizza RabbitMQ esclusivamente con C # e tutto funziona abbastanza bene. Per fornire alcune funzionalità aggiuntive aggiuntive rispetto a ciò che fornisce RabbitMQ, abbiamo implementato MassTransit. MassTransit offre alcuni grandi vantaggi rispetto a RabbitMQ (astrae le specifiche di RabbitMQ, gestisce i messaggi "veleno", tentativi, serializzazione, fornisce molti schemi di messaggistica, ecc.). Tuttavia, il principale svantaggio è che ti blocca usando .NET; gestisce SOLO la deserializzazione nelle classi .NET. Questo limita la nostra capacità di creare servizi scritti in linguaggi non.NET. Ovviamente potremmo mettere in risalto endpoint REST scritti in C # per consentire la connessione di altri servizi, ma non è l'ideale, dato che altri servizi dovrebbero essere in grado di coinvolgere pub / sub e altri messaggi non adatti a REST.
Quindi ecco la domanda: se stai usando RabbitMQ, come stai connettendo servizi scritti in lingue diverse? Devi implementare del codice condiviso per ogni lingua che vuoi supportare per gestire la serializzazione / deserializzazione?
Grazie per il tempo dedicato a rivedere questo e condividere il tuo consiglio.