Skip to content

Commit b4388d1

Browse files
committed
Complete tech review for RabbitMQ Learning Path
1 parent b1af4c2 commit b4388d1

4 files changed

Lines changed: 56 additions & 36 deletions

File tree

content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/baseline.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,21 @@ Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
5858
```
5959

6060
### Download RabbitMQ admin CLI tool
61-
Download the rabbitmqadmin CLI tool from the local management endpoint.
61+
62+
The `rabbitmqadmin` command is a Python script to manage and monitor RabbitMQ.
63+
64+
Download the CLI tool from the local management endpoint to the virtual machine. You can also download and run `rabbitmqadmin` on your local computer, but you need to have `python3` installed, including `pip3`.
6265

6366
```console
6467
curl -u guest:guest http://localhost:15672/cli/rabbitmqadmin -o rabbitmqadmin
6568
```
66-
**Make the tool executable:**
69+
70+
Make the tool executable:
6771

6872
```console
6973
chmod +x rabbitmqadmin
7074
```
75+
7176
### Validate queue creation
7277
Create a test queue to validate write operations:
7378

@@ -117,12 +122,11 @@ Confirm that the queue is empty after consumption:
117122

118123
The output is similar to:
119124
```output
120-
+--------------+----------+
121-
| name | messages |
122-
+--------------+----------+
123-
| jobs | 0 |
124-
| order.events | 1 |
125-
| testqueue | 1 |
125+
+-----------+----------+
126+
| name | messages |
127+
+-----------+----------+
128+
| testqueue | 1 |
129+
+-----------+----------+
126130
```
127131

128132
## What you've accomplished and what's next

content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/installation.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,22 @@ sudo systemctl status rabbitmq-server
8585

8686
The service should be in an active (running) state.
8787

88+
```output
89+
● rabbitmq-server.service - Open source RabbitMQ server
90+
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
91+
Active: active (running) since Fri 2026-01-09 14:50:52 UTC; 3s ago
92+
Main PID: 3953 (beam.smp)
93+
Tasks: 53
94+
CPU: 2.432s
95+
CGroup: /system.slice/rabbitmq-server.service
96+
├─ 3953 /usr/lib64/erlang/erts-14.2.5/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db -zdbbl >
97+
├─ 3967 erl_child_setup 32768
98+
├─ 4014 /usr/lib64/erlang/erts-14.2.5/bin/inet_gethost 4
99+
├─ 4015 /usr/lib64/erlang/erts-14.2.5/bin/inet_gethost 4
100+
├─ 4024 /usr/lib64/erlang/erts-14.2.5/bin/epmd -daemon
101+
└─ 4077 /bin/sh -s rabbit_disk_monitor
102+
```
103+
88104
### Enable RabbitMQ management plugin
89105
Enable the RabbitMQ management plugin to access the web-based dashboard.
90106

content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/use-case1.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -95,23 +95,31 @@ These commands verify that the `events` exchange exists (type: `topic`), the `or
9595
The output is similar to:
9696

9797
```output
98-
+--------+-------+
99-
| name | type |
100-
+--------+-------+
101-
| events | topic |
102-
+--------+-------+
103-
98+
+--------------------+---------+
99+
| name | type |
100+
+--------------------+---------+
101+
| | direct |
102+
| amq.direct | direct |
103+
| amq.fanout | fanout |
104+
| amq.headers | headers |
105+
| amq.match | headers |
106+
| amq.rabbitmq.trace | topic |
107+
| amq.topic | topic |
108+
| events | topic |
109+
+--------------------+---------+
104110
+--------------+----------+
105-
| name | messages |
111+
| name | messages |
106112
+--------------+----------+
107113
| order.events | 0 |
114+
| testqueue | 1 |
108115
+--------------+----------+
109-
110-
+--------+--------------+-------------+
111-
| source | destination | routing_key |
112-
+--------+--------------+-------------+
113-
| events | order.events | order.* |
114-
+--------+--------------+-------------+
116+
+--------+--------------+--------------+
117+
| source | destination | routing_key |
118+
+--------+--------------+--------------+
119+
| | order.events | order.events |
120+
| | testqueue | testqueue |
121+
| events | order.events | order.* |
122+
+--------+--------------+--------------+
115123
```
116124

117125
### Install Python dependencies
@@ -226,7 +234,9 @@ When you're done testing, press Ctrl+C in the worker terminal to exit the applic
226234

227235
## What you've accomplished and what's next
228236

229-
You've implemented an event-driven system using RabbitMQ with topic exchange routing, durable queues, manual acknowledgments, and fair dispatch. The Python worker processes order events asynchronously, and the wildcard routing pattern (`order.*`) allows multiple related event types to flow to the same consumer.
237+
You've implemented an event-driven system using RabbitMQ with topic exchange routing, durable queues, manual acknowledgments, and fair dispatch.
238+
239+
The Python worker processes order events asynchronously, and the wildcard routing pattern (`order.*`) allows multiple related event types to flow to the same consumer.
230240

231241
This pattern works well for event streams where you want flexibility to add new event types without reconfiguring consumers.
232242

content/learning-paths/servers-and-cloud-computing/rabbitmq-gcp/use-case2.md

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ layout: learningpathall
77
---
88
## WhatsApp notification with direct exchange routing
99

10-
In this use case, you implement an asynchronous notification workflow where RabbitMQ routes WhatsApp notification messages using a **direct exchange** with exact-match routing. A Python worker consumes and processes these messages reliably.
10+
In this use case, you implement an asynchronous notification workflow where RabbitMQ routes WhatsApp notification messages using a direct exchange with exact-match routing. A Python worker consumes and processes these messages reliably.
1111

1212
### Use case overview
1313

@@ -266,14 +266,9 @@ This pattern works well for targeted notifications (email, SMS, WhatsApp, push n
266266

267267
The key difference from Use Case 1 is the routing approach: Use Case 1 uses topic exchange with wildcard routing (`order.*`) for flexible event streams, while Use Case 2 uses direct exchange with exact routing (`whatsapp`) for targeted notifications.
268268

269-
## Cleanup resources
269+
## Delete RabbitMQ resources
270270

271-
When you're finished with this Learning Path, clean up your resources to avoid unnecessary charges:
272-
273-
**Stop RabbitMQ workers:**
274-
Press Ctrl+C in each terminal running a Python worker.
275-
276-
**Delete RabbitMQ resources:**
271+
When you're finished, stop the RabbitMQ workers and delete the resources.
277272

278273
```console
279274
./rabbitmqadmin delete queue name=order.events
@@ -283,10 +278,5 @@ Press Ctrl+C in each terminal running a Python worker.
283278
./rabbitmqadmin delete exchange name=notifications
284279
```
285280

286-
**Delete the Google Cloud VM:**
287-
288-
Navigate to **Compute Engine > VM Instances** in the Google Cloud Console, select your VM, and select **Delete**.
289-
290-
**Delete the firewall rule:**
281+
When you are done, be sure to delete the Google Cloud VM and the firewall rule.
291282

292-
Navigate to **VPC Network > Firewall**, find the `allow-tcp-15672` rule, and select **Delete**.

0 commit comments

Comments
 (0)