Abstract
Message Broker is a powerful Design Pattern – it enables scalability of actor-based applications by providing multiple flavors of actor decoupling:
- Spatial – Actors do not need to know each other’s ‘location’ (references/URLs)
- Temporal – Actors may be created/started in any order
- Synchronization – Actors do not loose messages (message buffering)
- Semantic – Actors can exchange messages across abstraction/aspect boundaries without being statically coupled to other actor’s message classes (Message Translation)
This presentation describes design of a simple Distributed Message Broker extension with major features including:
- Distributed Message Broker class is a child of the ‘local’ ArTLib Message Broker class (OCP)
- It is 100% backward compatible to ‘local’ Message Broker implementation (uses the same API)
- It allows moving Actor classes between Distributed Application Components (EXE) without changes to Actor code
- It eliminates need for Actor Proxy objects by encapsulating proxy functionality (a single pair of proxies for EXE – EXE bidirectional message forwarding)
- It supports auto-healing and auto-recovery of actor-actor communications in case of a remote application component (EXE) going off-line and coming back on-line
- It uses Network Streams for implementing message forwarding across EXE boundaries
The PowerPoint 2016 file has some animations and is best viewed in Slide Show mode. It also has a large amount of Slide Notes that are essential for better understanding this presentation.
PDF file includes slide notes. To see notes either hover over an icon in the top left corner of a page (containing Notes) or right-click the icon and select “Open All Pop-ups” option. Diagrams & images on slides with animations are stacked and may obscure images farther out along Z axis.
Enjoy,
Dmitry