Publish-Subscribe

Principles
Subscribers subscribe to messages containing events, sensor measurements, alerts, alarms, notifications, ...

Subscription could be done a topic or a topic pattern or on a message content.

Publishers publish messages on a topic or a set of topics

Features

 * Content-based routing
 * TCP or UDP or Multicast UDP or Broadcast (in LAN) or mix
 * LAN or WAN
 * Realtime or not
 * QoS or not (order, reliability, high-availability ...)
 * Centralised vs Distributed (P2P, ...)
 * Atomicity (ACID transaction)
 * Broker required or Direct

Protocols and API

 * OSGi EventAdmin Service
 * JMS
 * AMQP
 * CORBA Data Distribution Service
 * UPnP GENA
 * MQTT
 * M3DA
 * PubSubHubBub
 * Real-Time Publish-Subscribe (RTPS)
 * Siena
 * Robot Operating System
 * Ivy
 * Apache Kafka
 * WAMP
 * Redis.io

PubSub-as-a-Service Providers

 * PubNub
 * Octoblu
 * Axeda
 * Xively
 * Google Cloud Pub/Sub
 * Superfeedr

Papers

 * The Many Faces of Publish/Subscribe http://www.cs.ru.nl/~pieter/oss/manyfaces.pdf
 * International Conference on Distributed Event-Based Systems (DEBS) http://www.debs.org/