At-least-once delivery es una garantía de calidad de servicio (QoS) en sistemas de mensajería distribuidos que asegura que cada mensaje enviado por un productor será entregado a su consumidor al menos una vez. Esto significa que, incluso frente a fallos de red, caídas de nodos o reinicios de procesos, el sistema hará todo lo posible para que el mensaje llegue. La contrapartida inherente a esta garantía es la posibilidad de que un mensaje sea entregado múltiples veces, lo que introduce la necesidad de que los consumidores sean idempotentes para manejar duplicados de forma segura.

Esta garantía es fundamental en muchos sistemas de mensajería y procesamiento de eventos. Por ejemplo, Apache Kafka, cuando se configura con las garantías por defecto (acks=all, min.insync.replicas >= 1), ofrece at-least-once delivery. Otros sistemas como RabbitMQ (con confirmaciones de productor y ACKs de consumidor) o AWS SQS (con visibilidad timeout) también pueden configurarse para operar bajo este modelo. En estos sistemas, los mensajes pueden ser reentregados si el consumidor falla antes de confirmar su procesamiento, o si hay particiones de red que impiden la confirmación.

Para un arquitecto de sistemas, entender at-least-once delivery es crucial para diseñar sistemas robustos y tolerantes a fallos. La decisión de adoptar esta garantía implica la necesidad de diseñar consumidores que sean idempotentes, es decir, que puedan procesar el mismo mensaje varias veces sin causar efectos secundarios no deseados o inconsistencias en el estado del sistema. Esto a menudo se logra mediante el uso de identificadores únicos de mensaje (message IDs) para detectar y descartar duplicados, o diseñando operaciones que intrínsecamente no cambian el estado después de la primera ejecución. El trade-off principal es la simplicidad de implementación del sistema de mensajería a cambio de una mayor complejidad en la lógica de procesamiento del consumidor, pero ofrece una mayor fiabilidad que 'at-most-once delivery' y es más fácil de lograr que 'exactly-once delivery'.