Ну возьмите nats-streaming, словите кучу проблем с тем, что он реализует подтверждение доставки через request/reply и если не получил replay за опеределенный timeout, то тупо отправлять сообщение еще раз. Потом живите тем, что у вас в какой-то момент очередь разрастается до безумных размеров и бум-бум