The smallest message broker I've been happy with. One binary, and JetStream on top when the messages need to survive a restart.

In Forge it sits between the ingestion API and the workers. I used Kafka and RabbitMQ at Coosto, both are great, but for something this size they were too much machinery to run and to maintain.

The part that made the difference was moving to durable consumers with real acks. Before that, redeploying a worker while events were coming in meant losing them.