Всем привет! Помогите разобраться с кашей по отношению к брокерам сообщений.
Очереди, сообщения, брокеры - не только тема для микросервисов.
Очереди, сообщения, брокеры - это способ передать задачу асинхронно - без разницы простому воркеру (который не является микросервисом, например просто процесс, который выполняет обычную консольную команду в рамках монолитного фреймоврка) либо микросервису, который уже крутой и самобытный.
Микросервис - про архитектуру, а очередь - механизм доставки асинхронных задач.
Выбор между redis и rabbitmq происходит не на уровне архитектуры (где находятся понятия микросервис и монолит), а на уровне критерий к механизму доставки сообщений. Если механизм простой - то лучше использовать redis, если сложный, то rabbitmq - грубо говоря. Ну вообще много есть критериев, а именно, нужна ли гарантия доставки и сложный роутинг (тогда лучше rabbitmq), либо скорость важнее и/или например redis уже используется для кэша (тогда redis).
Но просто так получилось, что гарантия доставки и роутинг больше важна при микросервисах, а скорость для внутренних задач каких-то. Поэтому микросервис часто идёт вместе с понятиями rabbitmq или kafka. А какой-то простой воркер - это про redis
У redis есть stream, там тоже есть подтверждение доставки. Так что вопрос скорее к масштабированию, конкретизации требований и умению команды использовать софт.
А в чём у вас собственно вопрос-то? Вы не знаете как сделать выбор между двумя инструментами? Делаете простую табличку: Требования вашей задачи | Возможности Redis | Возможности RabbitMQ
Вписываете все нужные вам пункты и далее выбираете то, что вам больше всего подходит.