In this chapter, we started by learning about messaging theory. You learned about the Fallacies of Distributed Computing and the CAP Theorem, and realized that although we cannot achieve full consistency in a distributed system, we can leverage the power of asynchronous messaging to achieve eventual consistency.
You then learned about the distinction between commands and events, how commands are sent by multiple senders but processed by a single logical receiver, and how events are published by only one logical publisher but received by one or more logical subscribers. You learned how we can use the Publish/Subscribe model to decouple business processes—by announcing that some business event has happened, and allowing subscribers to respond to it in whatever way they wish.
We then demonstrated this knowledge by publishing an event with NServiceBus, and then creating multiple subscribers for that event. You learned how to configure the message endpoint mappings so that NServiceBus knows...