Встречается на собеседованиях • сегодня

Как реализован брокер сообщений в Redis

В Redis брокер сообщений реализован через механизм Pub/Sub (издатель/подписчик). Это простая и эффективная модель, где:

  • Издатели (publishers) отправляют сообщения в каналы (channels).
  • Подписчики (subscribers) слушают каналы и получают сообщения в реальном времени.

Пример:

python
import redis

r = redis.Redis()

# Подписчик
pubsub = r.pubsub()
pubsub.subscribe('my_channel')

for message in pubsub.listen():
    if message['type'] == 'message':
        print(message['data'])

# Издатель
r.publish('my_channel', 'Hello, Redis!')

Особенности:

  • Нет сохранения сообщений — если подписчик отключен, он не получит пропущенные сообщения.
  • Поддержка шаблонов (pattern matching) для подписки на несколько каналов (PSUBSCRIBE news.*).
  • Минимальные задержки, так как Redis работает в памяти.

Для более сложных сценариев (очереди, отложенные сообщения) можно использовать Redis Streams или List с командами LPUSH/BRPOP.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы