Tigris migra tareas asíncronas de FoundationDB a Kafka

Fuentes: Tigris moves async tasks from FoundationDB to Kafka

Tigris Object Storage ha implementado una migración de sus tareas asíncronas, como la recolección de basura, desde su base de datos principal, FoundationDB, hacia el sistema de colas de mensajes Apache Kafka. Esta decisión responde a limitaciones técnicas y operativas que afectaban al uso de FoundationDB como cola de mensajes, incluyendo la necesidad de múltiples escrituras por tarea, la carga de lectura en la base de datos y la complejidad del código personalizado para implementar el sistema QuiCK de Apple.

Inicialmente, Tigris utilizaba FoundationDB, un almacene clave-valor, para gestionar tanto metadatos como colas de mensajes, eliminando así el problema de las escrituras dobles. Sin embargo, el enfoque resultó ineficiente a medida que creció el volumen de tareas. La implementación de la cola en FoundationDB requería escaneos intensivos y asignaciones de IDs atómicas que generaban conflictos en entornos distribuidos. Además, la falta de una implementación estándar del sistema QuiCK complicaba la onboarding de nuevos desarrolladores.

La solución adoptada no es un reemplazo total, sino una separación de responsabilidades. Tigris mantiene las colas en FoundationDB para operaciones críticas que requieren consistencia fuerte, pero ha desplazado las tareas de bajo rendimiento o de larga duración a Kafka. Esta estrategia permite reducir la carga de lectura y escritura en la base de datos principal y simplifica la infraestructura, eliminando el código específico de la implementación de QuiCK. La transición refleja un equilibrio entre la robustez de FoundationDB para datos críticos y la escalabilidad y gestión operativa de Kafka para cargas de trabajo asíncronas.