<p> Reactive Systems are built on a foundation of asynchronous, non-blocking messages. This course will explore that idea in detail. We will discuss replacing distributed transactions with the Saga pattern. We will explore the consequences of building a distributed system on the delivery guarantees we can provide for our messages. Finally we will look at different techniques for delivering the messages like Point to Point or Publish/Subscribe, and how we can leverage external technologies such as a message bus to help.</p>