The Broker architectural pattern can be used to structure distributed software systems with decoupled components that interact by remote service invocations.


A broker component is responsible for coordinating communication, such as forwarding requests, as well as for transmitting results and exceptions.

For example, we can design MSA(Micro Service Architecture) by divide and conquer service components like below, so we can load balance by the service performances/priorities.