The microservice principle of smart endpoints and dumb pipes is easy to understand when you embrace the concept of decentralization of architecture and logic.
Despite using “dumb pipes” microservices can still implement essential messaging primitives without the need for a centralized service bus.
Instead, microservices should make use of the broad ecosystem of frameworks that exist as dumb pipes for both request-response and observer communications.