Start with the useful work

Identify what a node must continue doing during a partition. An operator reading a cached plan and a node accepting an irreversible command have different consistency requirements. Putting both behind the same synchronization policy conceals a consequential design decision.

Separate observation from commitment

An observation can often be queued for later delivery. A commitment may need ownership, authorization and coordination. Give each record an identity, source, version and expiry rule. Retries then become a delivery mechanism rather than a source of duplicated work.

Make recovery part of the model

Reconnection is not the end of a failure. It begins reconciliation. Bound replay, preserve original timestamps and expose conflicts to the party authorized to resolve them. A synchronization indicator should reflect acknowledged state, not merely an open socket.

Architecture notation / illustrative pseudocode
if (!link.available) {
  queue.persist(observation);
  operator.showFreshness(lastAcknowledgedAt);
  policy.limitAuthority("local");
}

information age = observation time → current time

SYSTEM ARCHITECTURE / DDIL

Sensing → networking → compute → intelligence → human decision

Interactive model loads as you approach. The engineering scope and constraints are provided in the page text.

References & further reading

Original Aerlix engineering commentary. The following sources provide broader background; they do not endorse Aerlix or validate the demonstrators.

  1. [1] Designing Data-Intensive Applications — author resources
  2. [2] RFC 9171: Bundle Protocol Version 7