[zeromq-dev] 0MQ Pubsub vs XMPP Pubsub

Martin Sustrik sustrik at 250bpm.com
Sun Apr 25 14:33:35 CEST 2010


Bhavin,

> In XMPP Pubsub, the list of subscribers of a node is statically maintained
> by the pubsub service. The actual users do not connect directly to the
> pubsub service, but rather connect to the XMPP server responsible for their
> domain. When a node in a pubsub service receives a post, it looks up the
> list of subscribers the post is meant for, establishes connections to those
> servers that host that user and send out the message JIT
> 
>  
> 
> In 0MQ type pubsub, each subscriber node is expected to connect to the nodes
> it wishes to receive messages from proactively. 0MQ type pubsub lends itself
> more to a MUC type use case than a pubsub type usecase
> 
>  
> 
> Lets take a collaborative application, where multiple people can work on a
> document at the same time (like google docs or google wave)
> 
>  
> 
> Each document is a pubsub node in this model, with multiple users. A typical
> user would have thousands of such documents that he/she is a part of.
> However only a few of them would be active at any given point in time. If
> this were to be implemented in 0MQ, the model would assume each document is
> a topic, and all the users who are part of that document can connect to that
> topic and subscribe to it. However, in this model, the users (subscribers)
> would need to know which documents are currently receiving messages for it
> does not make sense for each user to establish a connection with every topic
> since most of the older ones would not receive any more messages.
> 
>  
> 
> The way in which this maybe achieved using 0MQ is to use 0MQ alongwith some
> mechanism outside of 0mq that notifies a subscriber to initiate a connection
> to a publisher because new messages have been published.

How does XMPP pubsub interact with firewalls?

Martin



More information about the zeromq-dev mailing list