Relational subscription middleware for internet-scale publish-subscribe
Abstract
We present a design of a distributed publish-subscribe system that extends the functionality of messaging middleware with "relational subscriptions", to support timely updates to state derived from published messages while preserving high throughput, scalability, and reliability. Critical to our design is our service guarantee of "eventual correctness". Eventual correctness is a weaker guarantee than the ACID properties of conventional databases, yet is useful enough to deliver state that is "just consistent enough".A key component of our design is a monotonic type system. All states delivered to clients represent facts that are permanently true, that may be refined by future updates, but will never become false. The monotonic type system is used both to formalize eventual correctness, and as a basis for our implementation, which generalizes the "Guaranteed Delivery" protocol previously implemented in the Gryphon system.We discuss: (1) our monotonic type system and relational subscription language; (2) eventual correctness; (3) the architecture of our implementation; (4) potential optimizations that form a basis for future studies.