Je suis en train de mettre en œuvre un système de messagerie où des programmes externes appelés agents peuvent communiquer via des producteurs ZeroMq. Ainsi, chaque fois qu'un événement d'intérêt se produit, l'agent envoie un message à ZeroMq.Modèle de pipeline ZeroMQ
Je suis intéressé par la mise en œuvre de ce modèle en utilisant pipeline.
J'ai trouvé quelques exemples (Ventilator-Worker-Results Manager), mais le composant Ventilator crée un point de terminaison pour accepter les connexions du worker, puis envoie tous les messages par lot.
Mon scénario est assez différent. Le "agent" se connecte chaque fois qu'un événement est nécessaire pour être envoyé - il n'attend pas les connexions des travailleurs, donc je me demande si c'est possible? En outre, le fait important est que les messages doivent être traités dans l'ordre où ils ont été envoyés.
Cela pourrait être une bonne solution, sauf que je n'ai pas besoin de communication bidirectionnelle ici. L'agent n'a pas besoin de savoir si le message a été envoyé au courtier - il doit simplement l'envoyer. – Nedo
Je ne suis pas sûr, mais [AFAIK] (http://en.wiktionary.org/wiki/AFAIK), il n'y a aucune notion de sockets unidirecional dans ZeroMQ. Si vos agents REQ doivent rester connectés avec le courtier, fermez le socket chaque fois qu'un événement est envoyé. –