МикросервисА генерит 2 события (событие это JSON) и кладет их в очередь.
МикросервисB (инстанс 1) получает 1 событие и обрабатывает.
МикросервисB (инстанс 2) получает 2 событие и обрабатывает.
МикросервисB может отправить Ack, Nack, Reject с параметром requeue=true/false, а также может сгенерировать сообщение и также положить в очередь.
Нужно реализовать клиента к RabbitMQ с общим интерфейсом (без привязки к RabbitMQ, есть например еще ActiveMQ) со всеми методами которые нужны для реализации логики описанной выше.