[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-arkhitektura-prilozheniy-zachem-nuzhen-message-broker-v-chyom-raznitsa-mezhdu-ocheredyu-i-topikom":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":20,"progress":21,"seo":22},135,"zachem-nuzhen-message-broker-v-chyom-raznitsa-mezhdu-ocheredyu-i-topikom",3,"arkhitektura-prilozheniy","Архитектура приложений","🏗️","Зачем нужен Message Broker? В чём разница между очередью и топиком?","Message Broker (брокер сообщений) -- промежуточное ПО, которое принимает, хранит и доставляет сообщения между компонентами системы. Это как почтовое отделение: отправитель бросает письмо в ящик и уходит, а почта доставит его получателю, даже если тот сейчас не дома.\n\n### Зачем нужен\n\n- **Слабая связанность** -- отправитель не знает получателя и не зависит от него.\n- **Асинхронность** -- отправитель не ждёт обработки, что снижает время отклика.\n- **Буферизация** -- сглаживание пиков нагрузки: если получатель временно не справляется, сообщения копятся в очереди.\n- **Гарантия доставки** -- сообщение не потеряется при временном сбое получателя.\n- **Масштабируемость** -- можно добавлять потребителей динамически.\n\n### Очередь (Queue) vs Топик (Topic)\n\n```\nОчередь (Queue) — Point-to-Point:\nКаждое сообщение обрабатывается ОДНИМ потребителем.\n\nProducer → [  msg3 | msg2 | msg1  ] → Consumer A  (получит msg1)\n                                    → Consumer B  (получит msg2)\n                                    → Consumer C  (получит msg3)\n\nТопик (Topic) — Publish\u002FSubscribe:\nКаждое сообщение получают ВСЕ подписчики (группы).\n\n                              ┌→ Consumer Group A (получит ВСЕ сообщения)\nProducer → [ Topic ] ─────────┼→ Consumer Group B (получит ВСЕ сообщения)\n                              └→ Consumer Group C (получит ВСЕ сообщения)\n```\n\n| Аспект | Очередь (Queue) | Топик (Topic) |\n|--------|-----------------|---------------|\n| Модель | Point-to-Point | Pub\u002FSub |\n| Получатели | Один на сообщение | Все подписчики |\n| Сценарий | Обработка задач (worker pool) | Уведомление нескольких систем |\n| Пример | Обработка платежей (каждый платёж обрабатывается одним воркером) | Событие \"Платёж совершён\" -- отправить уведомление, обновить аналитику, проверить фрод |\n\n### Популярные брокеры\n\n| Брокер | Модель | Особенности |\n|--------|--------|------------|\n| Apache Kafka | Topic (лог) | Высокая пропускная способность, хранение истории, replay |\n| RabbitMQ | Queue \u002F Topic (exchange) | Гибкая маршрутизация, поддержка AMQP |\n| ActiveMQ | Queue \u002F Topic | JMS-совместимый, зрелый |\n| Redis Streams | Topic (лог) | Простой, быстрый, встроен в Redis |\n\n### Kafka: Consumer Groups\n\nВ Kafka каждый Consumer Group -- это логический подписчик. Внутри группы сообщения распределяются между потребителями (как очередь), но между группами -- доставляются всем (как топик). Это позволяет совмещать оба подхода в одной системе.\n\n> **На собеседовании:** Интервьюер ждёт чёткого понимания разницы Queue vs Topic и умения привести пример, когда нужен каждый из них. Частая ошибка -- путать Consumer Group в Kafka с обычной очередью.","","middle",[15,16,17,18,19],"message-broker","kafka","rabbitmq","architecture","messaging",[],null,{"title":23,"description":24,"ogTitle":23,"ogDescription":25,"keywords":26,"schemaAnswer":35,"featuredSnippetReady":36},"Message Broker: очередь vs топик, Kafka и RabbitMQ — Gymterview","Зачем нужен Message Broker? Разница между очередью (Point-to-Point) и топиком (Pub\u002FSub). Сравнение Kafka, RabbitMQ, ActiveMQ. Примеры использования в Java.","Зачем нужен брокер сообщений? Разница между очередью и топиком, сравнение Kafka и RabbitMQ для Java-разработчиков.",[27,28,29,30,31,32,33,34],"message broker","очередь","топик","Kafka","RabbitMQ","pub\u002Fsub","point-to-point","брокер сообщений","Message Broker — промежуточное ПО для передачи сообщений между компонентами системы, обеспечивающее слабую связанность, асинхронность, буферизацию и гарантию доставки. Очередь (Queue) работает по модели Point-to-Point, где каждое сообщение обрабатывается одним потребителем. Топик (Topic) работает по модели Pub\u002FSub, где каждое сообщение получают все подписчики. Популярные брокеры: Apache Kafka (высокая пропускная способность, хранение истории), RabbitMQ (гибкая маршрутизация, AMQP), ActiveMQ и Redis Streams.",true]