Об этом проекте
Sarama — это клиентская библиотека на Go для Apache Kafka, распространяемая под лицензией MIT и поддерживаемая IBM. Она предоставляет полную реализацию протокола Kafka для приложений на Go.
## Возможности
**Продюсеры** — Отправка записей в топики Kafka с настраиваемыми стратегиями партиционирования (случайная, round-robin, sticky, на основе ключа). Поддерживаются синхронный и асинхронный режимы отправки, пакетирование сообщений и сжатие (gzip, snappy, lz4, zstd).
**Потребители** — Чтение из топиков Kafka с использованием ConsumerGroups или прямых подписок на топики/партиции. Поддерживаются ручное и автоматическое управление смещениями, высокоуровневая балансировка групп и пользовательские стратегии назначения партиций.
**Транзакционные клиенты** — Предоставляет API для семантики exactly-once, включая инициацию транзакций, их фиксацию и отмену.
**Управление брокерами** — Обработка обнаружения брокеров Kafka, управление метаданными и автоматическое переназначение лидеров.
## Дополнительные ресурсы
- Мок-реализации в подпакете `mocks` упрощают модульное тестирование.
- Примеры приложений в каталоге `examples` демонстрируют типичные сценарии использования.
- Инструменты командной строки в каталоге `tools` поддерживают тестирование, диагностику и инструментирование.
## Совместимость
Sarama поддерживает два последних стабильных релиза Kafka и Go, с двухмесячным льготным периодом для старых версий. Проект следует семантическому версионированию и гарантирует стабильность API.
Полная документация по API и примеры доступны на pkg.go.dev.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.