Sobre el proyecto
Sarama es una biblioteca cliente en Go para Apache Kafka, con licencia MIT y mantenida por IBM. Proporciona una implementación integral del protocolo de Kafka para aplicaciones Go.
## Capacidades
**Productores** — Envían registros a temas de Kafka con estrategias de particionamiento configurables (aleatorio, round-robin, pegajoso, basado en clave). Admite modos de envío síncronos y asíncronos, agrupación de mensajes y compresión (gzip, snappy, lz4, zstd).
**Consumidores** — Leen de temas de Kafka usando grupos de consumidores o suscripciones directas a tema/partición. Admite gestión de offsets manual y automática, reequilibrio de grupos de alto nivel y estrategias personalizadas de asignación de particiones.
**Clientes transaccionales** — Proporciona APIs para semántica de exactamente-una vez, incluyendo inicio de transacciones, confirmación y operaciones de cancelación.
**Gestión de brokers** — Maneja el descubrimiento de brokers de Kafka, gestión de metadatos y reasignación automática de líderes.
## Recursos adicionales
- Implementaciones mock en el subpaquete `mocks` facilitan las pruebas unitarias.
- Aplicaciones de ejemplo en el directorio `examples` demuestran patrones de uso comunes.
- Herramientas de línea de comandos en el directorio `tools` admiten pruebas, diagnóstico e instrumentación.
## Compatibilidad
Sarama admite las dos últimas versiones estables de Kafka y Go, con un período de gracia de dos meses para versiones anteriores. El proyecto sigue el versionado semántico y proporciona garantías de estabilidad de API.
La documentación completa de la API y ejemplos están disponibles en pkg.go.dev.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.