# Kafka vs RabbitMQ

### Выбирая между Kafka и RabbitMQ

На самом деле, категорично сравнивать брокеры сообщений очень сложно. У всех существуют свои задачи и области применения. В случае с Apache Kafka и RabbitMQ это немного разный уровень, где лучшего не существует.

Kafka используется для обработки больших объёмов данных, сотен тысяч сообщений в секунду, которые подолгу хранятся на диске и много раз читаются сотнями или даже тысячами подписчиков. Kafka — это легко масштабируемая система, обладающая повышенной отказоустойчивостью, что очень важно в крупных проектах.

RabbitMQ более простой в установке и настройке, успешно справляется с асинхронным обменом данными в микросервисной архитектуре. Не требует дополнительных компонентов и затрат на дисковые ресурсы, так как все сообщения после чтения из очереди удаляются. По сравнению с Kafka обладает большими возможностями по настройке шаблонов обмена сообщениями. Отличный выбор, если нет завышенных требований к отказоустойчивости и пропускной способности.

<table data-full-width="true"><thead><tr><th width="229.33333333333331"></th><th>Kafka</th><th>RebbitMQ</th></tr></thead><tbody><tr><td>Простота установки</td><td>-</td><td>+</td></tr><tr><td>Объем данных </td><td>Большой, сотни тысяч сообщений в секунду</td><td>Небольшой</td></tr><tr><td>Обмен информацией</td><td>Pub-Sub</td><td>Pub-Sub и Point-to-Point</td></tr><tr><td>Гарантия доставки</td><td>At most once / At least once / Exactly once</td><td>At most once / At least once</td></tr><tr><td>Повышенная отказоустойчивость</td><td>+</td><td>-</td></tr><tr><td>Процесс распределения сообщений на стороне брокера</td><td>-</td><td>+</td></tr></tbody></table>

Источник: <https://habr.com/ru/companies/innotech/articles/698838/>
