Al momento ho una soluzione che utilizza ZeroMQ per scambiare payload del buffer del protocollo. Il metodo di serializzazione del protocollo di protocollo è destinato a rimanere così com'è, ma posso sostituire ZMQ con un'opzione più conveniente. Le cose che non mi piacciono in ZMQ sono:Quali sono le alternative a ZeroMQ per lo spostamento dei payload del buffer del protocollo?
Usa JNI sul lato Java, e sono stato morso prima da JNI, in scenari complessi, multi-thread. Cerco di eliminarlo ogni volta che posso.
Non ho bisogno di fare la coda, ho solo bisogno di rpc.
miei requisiti (che sono per lo più coperti da ZeroMQ) sono:
supporto per 32/64 bit * nix, Windows, MacOS.
Supporto per Java, C++ e C# in primo luogo e Python, Ruby ecc. Sarebbe bello.
Il supporto linguistico deve essere fornito da implementazioni native nella lingua, non tramite il wrapping del codice nativo.
Prestazioni elevate. licenza
non virali, non GPL, ecc AGPL
Ho pensato di usare parsimonia come il livello di trasporto su TCP (credo che supporta tale) con buffer di protocollo carichi utili, se la sua implementazione Java per la messaggistica non sta usando JNI.
Quali opzioni si può pensare ad un valore diverso da ZMQ per questa configurazione?
Hai guardato da vicino Thrift? L'ultima volta che l'ho guardato, non è stato -giusto- trasporto: è una * sostituzione * per i buffer del protocollo (più trasporto). –
Non è chiaro cosa si abbia realmente bisogno da 0mq. È piuttosto generico (sembra quasi una presa diritta), quindi copre un sacco di gorund. Stai cercando una coda? RPC? –
@GregKopff: non posso sostituire i buffer di protocollo in questo progetto. Dovrà essere utilizzato per la serializzazione, a prescindere dal metodo di trasporto – mahonya