On Tue, Apr 5, 2011 at 10:48 AM, Ian Barber <[email protected]> wrote:
> I don't think I'd ever actually used them on PUSH/PULL. I do know people are > using them in PUB/SUB though and removing them will break the application > (as they'll have to implement a sequence and REQ/REP backchannel), so I > think either a) you shouldn't change PUB/SUB for the same reasons you > shouldn't do XREP/XREQ or b) you should change XREP/XREQ for the same > reasons you'd change PUB/SUB. The arguments for/against seem a bit different in each case. For pub/sub, durable sockets are a direct threat to publisher stability. This can be solved by setting limits, timeouts, etc. Pub/sub faces quite a range of threats that aren't but should be handled, durable sockets only makes them worse. For ROUTER, the problem is the use of an X- socket type intended to stay behind the scenes. However this has nothing to do with explicit identities, as I've explained. The fact is that unless/until 0MQ gives applications explicit access to: * when a peer connects * the routing algorithm * when a peer disconnects then ROUTER is the *only* way to implement a large range of essential patterns. We used to have a lot of threads "how do I do xyz" and the answer was "you can't, with 0MQ", until we began to properly document and exploit XREP sockets as routers. Cheers Pieter _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
