You might enjoy the Zyre framework, from Chapter 8 of the Guide; it doesn't do distributed state but it does provide much of the chat architecture you want. Nodes are fully interconnected; it's aimed at local groups (e.g. clouds).
-Pieter On Thu, Jan 17, 2013 at 9:23 PM, Evan Todd <[email protected]> wrote: > I'm working on a system analogous to a chat service. It has the following > requirements: > > - Must be brokerless and able to add or lose nodes without corrupting the > state > - Each chatroom holds a max of X users which can be connected to different > nodes in the cluster > - Upon accepting a client connection, we have to find a chatroom that is > neither full nor empty, or create a new one > > I originally solved this with the Clone pattern, so each node kept a full > in-memory list of all the chatrooms, and a broker kept them in sync. The > guide doesn't cover the decentralized version of this though. What would > that look like? Or better yet, is there a solution that doesn't involve > state synchronization? > > Thanks, > ~Evan > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
