сравнение

Roxa vs Apache Kafka

Kafka — стандарт де-факто, и Roxa не пытается быть «Kafka, только лучше во всём». Разница — в архитектуре хранения и цене владения. Протокол при этом общий: ваши приложения работают с обоими без переписывания.

RoxaApache Kafka
Хранилище данныхS3/MinIO или локальная ФС (diskless)Диски брокеров + репликация ×3
Потеря при падении узлаНет — данные уже в хранилищеВозможна до завершения репликации
РантаймRust, один бинарьJVM + ZooKeeper или KRaft-кворум
РазвёртываниеОдин контейнер / docker composeКластер: брокеры + координация
ЭксплуатацияМинимальная: нет кворумов и ребалансов дисковВыделенный инженер: тюнинг JVM/GC, диски, партиции
КлиентыТе же Kafka-клиенты (librdkafka и др.)Все Kafka-клиенты
Веб-консольВстроенаСторонние UI отдельно
ЦенаCommunity бесплатно; Pro — лицензия навсегдаБесплатно + стоимость эксплуатации

Главное различие: Kafka держит данные на дисках брокеров и защищает их репликацией — за это платят кластером и командой эксплуатации. Roxa кладёт данные в объектное хранилище и подтверждает запись только после фиксации — узел становится одноразовым, а эксплуатация сводится к «перезапустить контейнер».

честный выбор

Когда выбрать Kafka

Миллионы сообщений в секунду с миллисекундными задержками, транзакции/exactly-once, Kafka Connect и Schema Registry, штатная HA-репликация — и есть команда, готовая всем этим управлять.

Когда выбрать Roxa

Надёжный обмен сообщениями между сервисами без содержания кластера: один контейнер, данные в вашем S3, те же клиенты. Типичный случай — команда, которой Kafka нужен на 10%, а обслуживать приходится на 100%.