The Many Faces of Publish/Subscribe

The Many Faces of Publish/Subscribe

June 2003 | PATRICK TH. EUGSTER, PASCAL A. FELBER, RACHID GUERRAOUI, ANNE-MARIE KERMARREC
The publish/subscribe communication paradigm is well-suited for loosely coupled distributed systems. This paper identifies the commonalities and differences between publish/subscribe and traditional interaction paradigms by focusing on three decoupling dimensions: time, space, and synchronization. It classifies and synthesizes various publish/subscribe variants, discussing their respective benefits and shortcomings in terms of interfaces and implementations. The publish/subscribe paradigm allows subscribers to express interest in events or patterns of events, and then be notified of events that match their interest. Events are asynchronously propagated to all relevant subscribers. The key strength of this model is the full decoupling between publishers and subscribers in time, space, and synchronization. Many industrial systems and research prototypes support this model, but due to the diversity of systems, it is challenging to capture their commonalities. The paper compares three main variants of publish/subscribe: topic-based, content-based, and type-based. Topic-based systems classify events by predefined topics, while content-based systems filter events based on their content. Type-based systems classify events by their type, enabling more precise filtering. The paper also discusses alternative communication paradigms, such as message passing, remote invocations, notifications, shared spaces, and message queuing, and highlights their limitations in fully decoupling communication between participants. In terms of implementation, the paper addresses issues related to events, media, and qualities of service. Events can be messages or invocations, and the choice of communication mechanism depends on the system's architecture and requirements. Media can be centralized or distributed, with different trade-offs in terms of reliability, scalability, and performance. Qualities of service include persistence, priorities, transactions, and reliability, which are crucial for ensuring the correct and efficient delivery of events. The paper concludes that while publish/subscribe is well-suited for scalable and loosely coupled systems, there are trade-offs between scalability, expressiveness, and quality of service. Probabilistic protocols are increasingly being considered for their ability to match the decoupled and peer-based nature of publish/subscribe systems. However, designing appropriate algorithms for large-scale deployment remains an open issue.The publish/subscribe communication paradigm is well-suited for loosely coupled distributed systems. This paper identifies the commonalities and differences between publish/subscribe and traditional interaction paradigms by focusing on three decoupling dimensions: time, space, and synchronization. It classifies and synthesizes various publish/subscribe variants, discussing their respective benefits and shortcomings in terms of interfaces and implementations. The publish/subscribe paradigm allows subscribers to express interest in events or patterns of events, and then be notified of events that match their interest. Events are asynchronously propagated to all relevant subscribers. The key strength of this model is the full decoupling between publishers and subscribers in time, space, and synchronization. Many industrial systems and research prototypes support this model, but due to the diversity of systems, it is challenging to capture their commonalities. The paper compares three main variants of publish/subscribe: topic-based, content-based, and type-based. Topic-based systems classify events by predefined topics, while content-based systems filter events based on their content. Type-based systems classify events by their type, enabling more precise filtering. The paper also discusses alternative communication paradigms, such as message passing, remote invocations, notifications, shared spaces, and message queuing, and highlights their limitations in fully decoupling communication between participants. In terms of implementation, the paper addresses issues related to events, media, and qualities of service. Events can be messages or invocations, and the choice of communication mechanism depends on the system's architecture and requirements. Media can be centralized or distributed, with different trade-offs in terms of reliability, scalability, and performance. Qualities of service include persistence, priorities, transactions, and reliability, which are crucial for ensuring the correct and efficient delivery of events. The paper concludes that while publish/subscribe is well-suited for scalable and loosely coupled systems, there are trade-offs between scalability, expressiveness, and quality of service. Probabilistic protocols are increasingly being considered for their ability to match the decoupled and peer-based nature of publish/subscribe systems. However, designing appropriate algorithms for large-scale deployment remains an open issue.
Reach us at info@study.space
[slides and audio] The many faces of publish%2Fsubscribe