Chapter 11. Messaging
This chapter discusses APIs in the context of broker-based messaging systems, which we refer to as broker-based APIs. The chapter aims to familiarize you with common messaging patterns, and provide you with the skills needed to implement and document them. In particular, you’ll work with the RabbitMQ message broker.
Several application architectures that use messaging have been proposed over the past decades. In the early 2000s, a service-oriented architecture (SOA) allowed to exchange messages over an Enterprise Service Bus (ESB), a communication system for interacting software applications. In the mid-2000s, attention was drawn to EDA, which allows systems to respond to each other based on the messages created by events. Both ESB and EDA used message-oriented middleware (MOM) as a component for passing data among applications. In the 2010s, microservices architectures gained adoption and continue to use MOM, such as ActiveMQ, Amazon SQS, Azure Service Bus, Google Cloud Pub/Sub, Kafka, RabbitMQ, or Redis.
Note
The MOM term was created at the end of the 20th century.1 While it’s no longer used in today’s discussions, MOM represents the idea of using a component to mediate message exchanges, with or without the broker involved.
What Is Messaging?
Messaging is a communication method that allows software applications to exchange data in the form of messages. In “Message”, we defined a message as a discrete data unit (a self-contained record) sent by a sender ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access