Reading the final chapter 6 of the paper "The Many Faces of Publish/Subscribe" I stumbled across:

Decoupling is a desirable property because it enforces scalability at the abstraction level, by allowing participants to operate independently of one another.

At the implementation level however, scalability remains a sensitive issue, because publish/subscribe interaction can be build on top of various communication substrates and can easily be hampered by an inappropriate architecture, in particular when publish/subscribe systems are built on top of infrastructures that were not designed with scalability in mind.


Are infrastructure and architecture used interchangeably here ?


I do not understand clearly what is meant with implementation level:

⇒ Is an event service manager (distributing the events between client and server) implemented with a layered architecture an example for a “publish/subscribe systems built on top of infrastructure [...] not designed with scalability in mind” ?

If it's not what would be a good example for a publish/subscribe systems, not built on top of an scalable infrastructure?


You can implement the pub/sub pattern (architecture) such that it works in-memory with publisher and subscriber on the same computer (infrastructure). You could also implement it to work in a networked scenario but maybe the component responsible to transfer messages can not be distributed among multiple nodes (again infrastructure).

In each case the software of the subscriber and the publisher are only coupled by the respective software interfaces but physically they are coupled by the restrictions of the scalability of the hardware.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.