pub/sub is a messaging application paradigm where interested parties subscribe to a class of messages and wait until the publisher sends event notifications their way.

The Wikipedia article defines it as being asynchronous, but I see no reason why you shouldn't want the exact opposite: Receiving updates in real-time, as soon as possible.

pubsub is a classic case of one-to-many or many-to-many routing, which according to the science of network topology is a problem that is best solved by means of a multicast strategy.

A few pubsub implementations, especially cloud-oriented ones, seem to be implementing multicasting strategies in some way (Talarian Smartsockets for example), several others leave it to the developer to somehow implement actual distribution trees (like 0MQ or ICE).

Actually most recent implementations don't provide anything at all (PubSubHubbub, AMQP, MQTT or XMPP PubSub). Ironically NNTP and maybe even IRC have better distribution strategies.

For good scalability, PSYC provides subscription and notification methods which operate within a framework of multicast contexts. The PSYC2 project comes with an API for pubsub. Read about it in

Typical applications of pubsub: newscasting, microblogging, even presence. Actually pretty much anything social.