Проблема в том, что реббит и является тем местом, которое поможет с ассинхронностью. И вот оно падает. Да, можно через базу. Можно сразу из базы читать, если кончьюмеры в этом же сервисе
зависит больше от требований предъявляемых к консьюмеру, часто подключение должно быть простым и максимально изолировано от внтуренних особенностей, структуры БД, тогда вариант вычитывать из базы не подходит, плюс Rabiit позволяют сильно гибче настраивать логику доставки и фильтрации сообщений + масштабирование