Q:

Async Majordomo pattern (Netmq)

I'm using Netmq to implement a reliable, fast and high available communication between my Frontend and Backend.
Communications flows are:
 - A client connects (xmpp client, websockets or any other client type) and sends a message to a backend and this messages has to be processed by a specific type of worker (xmpp dispatcher process xmpp messages)
 - A dispatcher connects (xmpp dispatcher for example) and sends a message to a specific frontend client (xmpp client).
So communication can be initiated by the top (client) or by the bottom (dispatcher). 
In order to achieve the above objectives, here is an architecture mockup:

As a result of what I've been reading on http://zguide.zeromq.org/page:all, this is not yet reliable, since an certain client receives a messages sends to the frontend (broker) and this message is accepted before knowing if there is any dispatcher that can process my work. At this stage I can either discard this message or store it, to be process in the future when a worker is available. This isn't a nice solution, since if Broker as no-one to deliver the traffic for a long time a lot of messages will be accumulated on the broker. The correct behaviour is: broker should not accept any message from the client or the client should stop sending messages.
This is the behaviour that I would like to achieve. In order to get that I need to implement Majordomo Pattern right? And probably Majordomo Management Interface right?
The problem is I cant find any good examples of C# Majordomo implementations, only C, C++ and Python examples. Is there any implementations available of Majordomo pattern on Netmq or any other C# ZMQ Binding? It would be awesome to have that, since is very complex to implement Majordomo just using Netmq and I'm kind new in this area.

A:

I also searched, currently there is no example, you can take a look at the existing example at:https://github.com/zeromq/netmq/tree/master/src/Samples.
Also it should be simple to port a czmq majordomo to netmq.

