Tutorials
Step by step, in order, each one ending with something that runs.
The guide explains how a thing works and why it is that way. These are the other shape: start with nothing, finish with a measurement you can defend.
| 1 | Your first measurement | Run a workload, read the report, understand the three histograms | 15 min |
| 2 | Finding the ceiling | How much can this broker take, and how to tell the broker's limit from your own | 25 min |
| 3 | Classic against quorum | A suite, and the cost of a guarantee as a number | 20 min |
| 4 | Failing a build | Objectives, exit codes, and a gate that does not lie | 20 min |
| 5 | When the consumer is the problem | Prefetch, handler time, and telling a slow consumer from a slow broker | 25 min |
Each builds on the one before. Nothing is left as an exercise.
Before you start
git clone https://github.com/AceMQ-Company/acemq-java-amqp-workloads
cd acemq-java-amqp-workloads
mvn -DskipTests packageThat gives you library/target/acemq-workload.jar. Java
17 or newer.
The broker
docker run -d --name rabbit \
-p 5672:5672 -p 15672:15672 \
rabbitmq:4-managementManagement UI at http://localhost:15672, guest/guest. Worth having open — every queue these tutorials create shows up there.
One caveat that affects every number you are about to see. The broker is sharing a CPU with the JVM generating the load. That is fine for learning the tool and useless as a capacity measurement. Tutorial 2 is largely about noticing when that is what has happened.
When you are done:
docker rm -f rabbit