Por el momento tengo una solución que usa ZeroMQ para intercambiar cargas útiles de buffer de protocolo. El método de serialización de búfer de protocolo está destinado a permanecer tal como está, pero puedo reemplazar ZMQ con una opción más conveniente. Las cosas de las que no estoy contento en ZMQ son:¿Cuáles son las alternativas a ZeroMQ para mover las cargas útiles del buffer de protocolo?
Utiliza JNI en el lado de Java, y JNI me ha mordido antes, en complejos escenarios de subprocesos múltiples. Intento eliminarlo siempre que puedo.
No necesito hacer cola, solo necesito rpc.
Mis requisitos (que están cubiertos en su mayoría por ZeroMQ) son:
Apoyo a 32/64 bits * nix, Windows, MacOS.
Soporte para Java, C++ y C# principalmente, y Python, Ruby etc. Sería bueno.
El soporte de idiomas debe ser proporcionado por implementaciones nativas en el idioma, no a través del código nativo.
Alto rendimiento. licencia
no viral, sin GPL, etc. AGPL
He estado pensando acerca del uso de Ahorro como la capa de transporte a través de TCP (supongo que es compatible con eso) con tampones protocolo cargas útiles, si su aplicación Java para los mensajes no está utilizando JNI.
¿Qué opciones puedes pensar aparte de ZMQ para esta configuración?
¿Has mirado de cerca a Thrift? La última vez que lo miré, no lo hizo -justo- el transporte: es un * reemplazo * para los búferes de protocolo (más el transporte). –
No está claro lo que realmente necesita de 0mq. Es bastante genérico (se ve casi como enchufes rectos), por lo que cubre un montón de gorund. ¿Estás buscando hacer cola? RPC? –
@GregKopff: No puedo reemplazar los búferes de protocolo en este proyecto. Tendrá que ser utilizado para la serialización, sin importar cuál sea el método de transporte – mahonya