Chapter 9. Going to Town on the Message Bus
In this chapter, we’ll start to make events more fundamental to the internal structure of our application. We’ll move from the current state in Figure 9-1, where events are an optional side effect…
…to the situation in Figure 9-2, where everything goes via the message bus, and our app has been transformed fundamentally into a message processor.
Tip
The code for this chapter is in the chapter_09_all_messagebus branch on GitHub:
git clone https://github.com/cosmicpython/code.git cd code git checkout chapter_09_all_messagebus # or to code along, checkout the previous chapter: git checkout chapter_08_events_and_message_bus
A New Requirement Leads Us to a New Architecture
Rich Hickey talks about situated software, meaning software that runs for extended periods of time, managing a real-world process. Examples include warehouse-management systems, logistics schedulers, and payroll systems.
This software is tricky to write because unexpected things happen all the time in the real world of physical objects and unreliable humans. For example:
-
During a stock-take, we discover that three
SPRINGY-MATTRESS
es ...
Get Architecture Patterns with Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.