Repolode
AutoMQ

AutoMQ/automq

Стриминговая система без состояния, совместимая с Kafka и хранящая данные в S3 или S3-совместимом объектном хранилище вместо локальных дисков.

Open source альтернатива:Amazon MSKConfluent Cloud

Звёзды
10,917
Форки
797
Открытые issues
66
Последний коммит
17 часов назад

Что это?

AutoMQ — форк Apache Kafka, в котором слой хранения на локальных дисках заменён объектным хранилищем, например Amazon S3 или MinIO. Брокеры не хранят постоянное состояние, поэтому при масштабировании кластера вверх или вниз переносить партиции не нужно. По утверждению проекта, масштабирование занимает несколько секунд.

Проект рассчитан на команды, запускающие Kafka в облаке и сталкивающиеся с высокими счетами за хранилища EBS и трафик между зонами доступности, а также с избыточным выделением ресурсов. Журнал предварительной записи (WAL) и слои кэширования (LogCache, BlockCache) обеспечивают эффективную запись и чтение, пока данные хранятся в объектном хранилище. Встроенный автобалансировщик перемещает трафик и партиции между брокерами, поэтому отдельный инструмент вроде Cruise Control не нужен. Маршрутизатор с учётом стоек направляет клиентов в каждой зоне доступности к метаданным локальных партиций, чтобы избежать платы за трафик между зонами в AWS и GCP.

AutoMQ на 100% совместим с протоколом Kafka и экспортирует метрики Prometheus и OpenTelemetry. В выпуске с открытым исходным кодом по умолчанию напрямую используется S3, что, по описанию проекта, добавляет сотни миллисекунд задержки; задержка в единицы миллисекунд доступна в корпоративном выпуске. Для оценки предусмотрены файлы Docker Compose для конфигураций с одним и тремя узлами.

Ключевые возможности

  • 01Совместимость с протоколом Kafka; слой хранения Kafka заменён S3-совместимым объектным хранилищем.
  • 02Брокеры без состояния, которые масштабируются вверх и вниз без перемещения данных партиций.
  • 03Встроенный автобалансировщик перераспределяет партиции и трафик между брокерами.
  • 04Маршрутизация с учётом стоек позволяет избежать платы за трафик между зонами доступности в AWS и GCP.
  • 05Экспорт метрик Prometheus и OpenTelemetry.
  • 06Конфигурации Docker Compose для оценки на одном или трёх узлах.

Сценарии использования

  • Замена самостоятельно управляемого кластера Apache Kafka в облаке для снижения расходов на хранение и трафик между зонами доступности.
  • Запуск потоковых нагрузок, которым требуется часто масштабироваться при переменном трафике.
  • Использование клиентов Kafka с S3-совместимым хранилищем в локальной инфраструктуре, например MinIO.
  • Оценка потоковой системы, совместимой с Kafka, на локальной машине перед развёртыванием в production.

Быстрый старт

  1. 1

    Скачайте файл Docker Compose и запустите конфигурацию с одним узлом

    curl -O https://raw.githubusercontent.com/AutoMQ/automq/refs/tags/1.5.5/docker/docker-compose.yaml && docker compose -f docker-compose.yaml up -d
  2. 2

    Выполните тест Kafka producer для AutoMQ в сети Docker

    docker run --network automq_net automqinc/automq:latest /bin/bash -c "/opt/automq/kafka/bin/kafka-producer-perf-test.sh --topic test-topic --num-records=1024000 --throughput 5120 --record-size 1024 --producer-props bootstrap.servers=server1:9092 linger.ms=100 batch.size=524288 buffer.memory=134217728 max.request.size=67108864"
  3. 3

    После тестирования остановите и удалите конфигурацию

    docker compose -f docker-compose.yaml down

Что важно знать

  • Быстрый запуск предназначен только для оценки и не подходит для использования в production.
  • При работе с S3 по умолчанию задержка составляет сотни миллисекунд; задержка в пределах единиц миллисекунд доступна в версии Enterprise.
  • Требуются Docker, Docker Compose v2, не менее 4 ГБ оперативной памяти, а также свободные порты 9092 и 9000.

Темы

Частые вопросы

Что такое automq?
Стриминговая система без состояния, совместимая с Kafka и хранящая данные в S3 или S3-совместимом объектном хранилище вместо локальных дисков. AutoMQ — форк Apache Kafka, в котором слой хранения на локальных дисках заменён объектным хранилищем, например Amazon S3 или MinIO. Брокеры не хранят постоянное состояние, поэтому при масштабировании кластера вверх или вниз переносить партиции не нужно. По утверждению проекта, масштабирование занимает несколько секунд.
automq можно использовать бесплатно? Какая у него лицензия?
automq распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
automq всё ещё поддерживается?
Активно поддерживается. Последний коммит в automq — 19 окт. 2026 г..
Для чего можно использовать automq?
Замена самостоятельно управляемого кластера Apache Kafka в облаке для снижения расходов на хранение и трафик между зонами доступности. Запуск потоковых нагрузок, которым требуется часто масштабироваться при переменном трафике. Использование клиентов Kafka с S3-совместимым хранилищем в локальной инфраструктуре, например MinIO. Оценка потоковой системы, совместимой с Kafka, на локальной машине перед развёртыванием в production.
Как установить automq?
Скачайте файл Docker Compose и запустите конфигурацию с одним узлом: curl -O https://raw.githubusercontent.com/AutoMQ/automq/refs/tags/1.5.5/docker/docker-compose.yaml && docker compose -f docker-compose.yaml up -d Выполните тест Kafka producer для AutoMQ в сети Docker: docker run --network automq_net automqinc/automq:latest /bin/bash -c "/opt/automq/kafka/bin/kafka-producer-perf-test.sh --topic test-topic --num-records=1024000 --throughput 5120 --record-size 1024 --producer-props bootstrap.servers=server1:9092 linger.ms=100 batch.size=524288 buffer.memory=134217728 max.request.size=67108864" После тестирования остановите и удалите конфигурацию: docker compose -f docker-compose.yaml down
Где скачать automq?
Исходный код и инструкции по установке — на GitHub: https://github.com/AutoMQ/automq

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Apache Druid — высокопроизводительная база данных для аналитики в реальном времени, быстрых запросов и загрузки данных; её часто используют как open-source альтернативу хранилищам данных.

14,1 тыс.3,8 тыс.JavaApache-2.0Обновлён 24 часа назад