amazon web services - Bus de mensajes sobre ZeroMQ
amazon-web-services architecture (1)
Voy a implementar un bus de mensajes distribuidos sobre ZeroMQ y estoy tratando de hacerlo lo más eficiente posible. Mis requisitos son:
- múltiples procesos están conectados a un bus, algunos de ellos están en la misma máquina, otros no.
- los procesos pueden suscribirse a algunos temas
- desafortunadamente, no hay multidifusión (no es compatible con el entorno de producción - Amazon)
- Necesito soultion multilenguaje (al menos para C ++, Haskell y Python)
Los enfoques que estoy considerando son:
1. Servicio de directorio + topología de malla
- hay un solo servicio de directorio que tiene una lista de todos los procesos conectados y sus direcciones.
- cada proceso se conecta a DS al inicio y solicita direcciones de otros
- cada proceso tiene un socket Pub y Sub conectado a todos los demás procesos (topología de malla)
2. Broker
- todos los procesos están conectados a un intermediario que distribuye mensajes utilizando el enchufe Pub.
¿Hay alguna otra / mejor arquitectura para usar con ZeroMQ para crear dicho bus de mensajes?
Le sugiero que eche un vistazo a nanomsg , que tiene una topología BUS incorporada y algunas otras interesantes como SURVEY. Es una biblioteca de Martin Sustrik el autor zmq original.
Puede encontrar alguna discusión sobre BUS en el blog de Martin Sustrik: http://250bpm.com/blog:17