Быстрый старт: один контейнер
Самый короткий путь попробовать Roxa: всё локально, данные на диске, метаданные встроены — ноль внешних сервисов. Понадобится только Docker (образ — см. получение образа).
Запуск
bash
docker run -d --name roxa \
-p 9092:9092 -p 50051:50051 \
-v roxa-data:/data \
pkg.sourcecraft.tech/cr/roxa/cn1mfog263e150r6b8si/roxa:1.0.0 serve \
--addr 0.0.0.0:50051 --kafka_addr 0.0.0.0:9092 --data-dir /datagRPC (roxactl) работает сразу. Для Kafka-клиентов с других машин нужен ещё kafka_advertised_addr (внешний адрес сервера, который брокер сообщает клиентам) — он задаётся в конфиге, поэтому для полноценного продакшена и веб-консоли проще сразу взять прод-стек docker compose.
Проверка за 30 секунд
CLI roxactl уже есть в образе:
bash
docker exec roxa roxactl --endpoint http://127.0.0.1:50051 topic create demo --partitions 3
docker exec roxa roxactl --endpoint http://127.0.0.1:50051 produce demo привет мир
docker exec roxa roxactl --endpoint http://127.0.0.1:50051 consume demo
# 0: привет
# 1: мирЛюбой Kafka-клиент (пример kcat, с той же машины):
bash
kcat -b 127.0.0.1:9092 -L # список топиков
echo "hello" | kcat -b 127.0.0.1:9092 -t demo -P # produce
kcat -b 127.0.0.1:9092 -t demo -C -o beginning -e # consumeЧто дальше
- Прод-стек docker compose — веб-консоль, S3-хранилище, мониторинг.
- Конфигурация serve.toml — хранилище fs/S3, аутентификация, retention.
- Примеры Kafka-клиентов — Python, Go, Java.