We were working on a problem with incoming client connections (which may cause too many file opens exception due to limited number of file descriptors), see
And it turned out that ZMQ doesn't provide any handles to control incoming connections. The answer from ZMQ developers was to use firewall and authentication.
Although ZMQ works good for Node-to-Node communication, it looks like it's not the best choice for Node-to-Client communication because of mentioned ZMQ limitations.
So, we need to get rid of ZMQ as Node-to-Client solution and use something else.
- As an option, we can consider a similar approach as for Agent-to-Agent communication in libindy (use `authcrypt` and any transport, for instance pure http).
- We can implement Node-to-Client communication fully separately from Plenum (consensus) process using any highload frameworks and any languages.