Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про RabbitMQ: rabbitmq, pub, sub, exchange, messaging, microservices

Что такое pub/sub?

Вопрос проверяет понимание модели взаимодействия «публикация/подписка» и её использования в RabbitMQ.

Короткий ответ

Pub/sub (publish/subscribe) — это асинхронная модель взаимодействия, где производитель публикует сообщение на определённую тему, и все подписчики этой темы получают его одновременно. Этот подход часто используется в микросервисах для организации событийного взаимодействия.

Длинный ответ

Pub/sub — это мощный способ взаимодействия между системами:

Как работает:

  • Производитель публикует сообщение в exchange.

  • Exchange распределяет сообщение между подписанными очередями на основе типа обмена и ключа маршрутизации.

  • Потребители читают сообщения из своих очередей.

Типы обменов в RabbitMQ:

  • Fanout: Сообщение отправляется всем очередям, связанным с exchange.

  • Topic: Сообщение отправляется только очередям, соответствующим ключу маршрутизации.

  • Direct: Сообщение отправляется в очередь с точным совпадением ключа маршрутизации.

Пример кода:

  • Публикация сообщения:

    channel.basic_publish(exchange='logs', routing_key='', body='Hello World!')  
  • Подписка потребителя:

    channel.queue_bind(exchange='logs', queue='queue_name')  

Pub/sub — идеальная модель для событийных микросервисов, обеспечивающая гибкость и масштабируемость.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • RabbitMQ

    RabbitMQ

Ключевые слова

#rabbitmq

#pub

#sub

#exchange

#messaging

#microservices

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.