Skip to content

Commit

Permalink
added diagram to chapter 15
Browse files Browse the repository at this point in the history
  • Loading branch information
cwoodruff committed Dec 14, 2024
1 parent c99999f commit d62076b
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions Chapter15/chapter15.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ By diving into the core principles of message queues, you'll learn how they faci

At the heart of message queuing lies a simple yet powerful concept: **producers** create messages, **queues** store them temporarily, and **consumers** retrieve and process them. This straightforward model allows systems to communicate asynchronously, ensuring that producers and consumers operate independently. Message queues decouple system components by separating the creation of messages from their consumption, reducing complexity and increasing reliability. This subsection will break down these fundamental concepts to understand how message queuing works behind the scenes.

![](Images/Message-Queue-Architecture-Overview.png)

<figcaption align = "center"><b>Message Queue Architecture Overview</b></figcaption>

A **message** is the fundamental unit of transmitted data, often formatted as JSON, XML, or binary. It can represent anything from a user's order in an e-commerce system to a notification about a completed task. Queues, on the other hand, serve as the holding area where messages wait to be processed. In many implementations, these queues operate on a first-in, first-out (FIFO) basis, ensuring messages are processed in the order they were sent. However, advanced patterns allow for flexibility, such as prioritizing or distributing specific messages across multiple consumers.

The interaction between producers and consumers defines the behavior of a message queue. A **point-to-point** model pairs a single producer with a single consumer, ideal for tasks like job processing. In contrast, a **publish-subscribe** model enables one producer to broadcast messages to multiple subscribers, perfect for scenarios like sending real-time notifications to users. These core patterns empower developers to design robust communication systems tailored to their application's needs. By mastering these foundational concepts, you'll be ready to tackle more advanced topics and see how message queues bring order to the chaos of modern distributed systems.
Expand Down

0 comments on commit d62076b

Please sign in to comment.