Смотри, как я понял твою схему:
есть mq, где по топику на каждый активный ws
есть общая таблица, где сказано, к какому из топиков относится клиент
есть хранилище, где известно, какие события дошли
продьюсер смотрит в "таблицу" и кидает событие в соответствующий топик
ws читает событие из топика и отправляет в сокет
если сокет упал, то соединение повторяется, меняется таблица, из общего хранилища берем все без ack и закидываем в топик
при приходе ack - в хранилище помечаем