Skip to content

Быстрый старт: один контейнер

Самый короткий путь попробовать 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 /data

gRPC (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

Что дальше