Knowledgebase

Delivery Guarantees Print

  • dataengineering, data, guide, howto, solution, zillionkinghost, hosting, support
  • 0

What a system promises about each record.

WHAT AT-MOST-ONCE MEANS

Each record processed zero or one times. Records may be lost.

WHAT AT-LEAST-ONCE MEANS

Each record processed one or more times. Records may be duplicated.

WHAT EXACTLY-ONCE MEANS

Each record's effect applied once.

WHAT IT ACTUALLY REQUIRES

Coordination between the source, the processing and the destination.

WHY IT IS FREQUENTLY MISUNDERSTOOD

It refers to the effect, not the delivery. Records may still be delivered twice.

WHAT THE PRACTICAL APPROACH IS

At-least-once delivery, with idempotent processing.

WHAT IDEMPOTENT MEANS HERE

Processing the same record twice produces the same result as once.

HOW THAT IS ACHIEVED

A deterministic identifier per record Destinations that replace rather than append

WHY THAT IS PREFERABLE

It is simpler, and works across systems that do not coordinate.

WHAT COMMITTING OFFSETS TOO EARLY CAUSES

Records lost on failure.

WHAT COMMITTING TOO LATE CAUSES

Records reprocessed on failure.

WHAT TO CHOOSE

Late, with idempotence.

WHY

Duplication is recoverable; loss is not.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot