amazon-web-services architecture ipc zeromq dbus

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