[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-kafka-v-chem-raznitsa-mezhdu-kafka-i-rabbitmq":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":15,"progress":16,"seo":17},789,"v-chem-raznitsa-mezhdu-kafka-i-rabbitmq",21,"kafka","Kafka","📨","В чем разница между Kafka и RabbitMQ?","Kafka и RabbitMQ — это две фундаментально разные системы обмена сообщениями с разными моделями доставки.\n\n| Критерий | Kafka | RabbitMQ |\n|----------|-------|----------|\n| **Модель** | Распределённый лог (append-only) | Классический брокер сообщений (очереди) |\n| **Хранение** | Сообщения хранятся на диске до retention | Сообщения удаляются после обработки |\n| **Повторное чтение** | Да (replay по offset) | Нет (сообщение удаляется) |\n| **Потребители** | Pull-модель, независимые consumer groups | Push-модель, один потребитель на сообщение |\n| **Производительность** | Миллионы msg\u002Fsec, оптимизирована для throughput | Десятки тысяч msg\u002Fsec, оптимизирована для latency |\n| **Масштабирование** | Горизонтальное через партиции | Горизонтальное, но сложнее |\n| **Гарантия доставки** | At-least-once, exactly-once | At-least-once, at-most-once |\n| **Маршрутизация** | По ключу в партицию | Гибкая (exchange, routing key, bindings) |\n| **Протоколы** | Собственный протокол | AMQP, MQTT, STOMP |\n\n### Когда выбрать Kafka\n\n- Обработка потоков данных в реальном времени\n- Интеграция с Big Data\n- Журналирование событий, event sourcing\n- Нужен replay и долгосрочное хранение\n\n### Когда выбрать RabbitMQ\n\n- Классические задачи очередей задач\n- Микросервисы с request-reply паттерном\n- Нужна гибкая маршрутизация (routing, topic exchange)\n- Нужны приоритетные очереди, TTL, DLQ\n\n> **На собеседовании:** главное различие — Kafka хранит сообщения и позволяет перечитывать (лог), а RabbitMQ удаляет после обработки (очередь). Kafka оптимизирована для высокого throughput, RabbitMQ — для гибкой маршрутизации и низкой latency для отдельных сообщений.","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":19,"keywords":20,"schemaAnswer":19,"featuredSnippetReady":21},"В чем разница между Kafka Consumer и Kafka Stream? — Gymterview","Kafka Consumer и Kafka Streams — это два способа обработки данных из Kafka с разным уровнем абстракции.",[7,13],true]