<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div>Hello,<br><br></div>I am running PowerDNS 4.0.1, which is complied from source with ZeroMQ support in a Debian 8 environment. I am experimenting with Remote and I am willing to write my own DNS storage (back-end), which connects to PowerDNS through Remote. Changelogs for the newer PowerDNS versions do not give any hints regarding the bellow described problem, so I think it is safe to assume that the case will be the same with all available 4.0.x releases.  <br><br></div>I am launching a single Remote instance and several threads:<br>launch=remote<br>distributor-threads=4<br>receiver-threads=4<br><br></div>Receiver and distributor thread count is just an example, the point is that I am not running in single threaded mode.<br><br></div>The main problem is that Remote itself does not give me any options to create a multi-threaded back-end. I have checked the source and although ZeroMQ is configured to start two I/O threads, but the implemented REQ/REP pattern limits the communication to:<br><br></div>1. PowerDNS sends a request about a domain.<br></div>2. PowerDNS waits (blocks) until it receives data about the domain.<br><br></div>Once my back-end receives a request I am limited to either returning false or replying.  <br></div>I am pretty sure that the case is the same with the Unix socket connector. I have NOT checked if the case is the same with the HTTP connector.<br><br></div>My questions are:<br></div>1. Is there a possibility to modify the communication pattern, so that PowerDNS either submits multiple requests through Remote OR maybe add a command which asks for a new query while the previous one is being executed?<br></div>2. In case I have myself misunderstood the way PowerDNS operates, is there a Remote connector which is suited for use in cases where the recipient wants to handle multiple requests at a time?<br><br></div>Best Regards,<br></div>Victor<br><div><div><div><br></div></div></div></div>