Hermes: a distributed event-based middleware architecture

Peter Pietzuch, Jean Bacon

2003 · 481 citations · 16 references

Concepts

TL;DR

Existing publish/subscribe systems still have limitations compared to invocation-based middlewares. The paper argues for an event‑based middleware to build large‑scale distributed systems and introduces Hermes, a novel type‑ and attribute‑based publish/subscribe architecture. Hermes is a type‑ and attribute‑based publish/subscribe middleware that centers on event types, supports object‑oriented features such as type hierarchies and super‑type subscriptions, uses an overlay routing network with rendezvous nodes to avoid global broadcasts, and integrates fault‑tolerance mechanisms for scalable, robust operation.

Abstract

In this paper, we argue that there is a need for an event-based middleware to build large-scale distributed systems. Existing publish/subscribe systems still have limitations compared to invocation-based middlewares. We introduce Hermes, a novel event-based distributed middleware architecture that follows a type- and attribute-based publish/subscribe model. It centres around the notion of an event type and supports features commonly known from object-oriented languages like type hierarchies and super-type subscriptions. A scalable routing algorithm using an overlay routing network is presented that avoids global broadcasts by creating rendezvous nodes. Fault-tolerance mechanisms that can cope with different kinds of failures in the middleware are integrated with the routing algorithm resulting in a scalable and robust system.

References

16