Every System is a Log: Avoiding coordination in distributed applications

Overall reaction & core idea

  • Many commenters like the clear articulation of “everything is a log” and its implications for durable execution and coordination.
  • Some see it as a practical extension of ideas from transaction logs, “Turning the Database Inside Out,” and classic distributed systems research.
  • Others feel it’s essentially re‑packaging long‑known concepts from accounting and early computing.

“One log” scope and coordination

  • There’s confusion around “one log”: some initially read it as literally a single global log.
  • Clarification: it means one logical log per entity/handler (e.g., per payment, user, session) that unifies state, communication, and locking; these logical logs are multiplexed over partitioned physical logs.
  • Critics argue that coordination needs are ultimately dictated by real‑world causal relationships, so independent logs only work when domains are actually independent.

Scalability, CAP, and consistency

  • Multiple comments point out that a single, linearizable log trades availability for consistency (CAP).
  • The system is assumed to choose linearizability (like Kafka, Pulsar, Redpanda) and to scale via partitioning/sharding, not a global mutex.
  • Some suggest replication or CRDT-like approaches; responses note these only work when temporary inconsistencies are acceptable.

Relation to existing paradigms & systems

  • Comparisons are drawn to:
    • Temporal (durable workflows), with this approach seen as broader: also used for RPC and long‑lived state.
    • Actor models/virtual actors (e.g., per-key stateful handlers).
    • CSP-like sequencing via shared logs.
    • ATProto/Bluesky’s architecture, and various log/CRDT projects (gossiplog, OrbitDB, Canvas).
    • Internal “log as a service” systems at large cloud providers.

Log structure, compaction, and ordering

  • Discussion on compaction: summarizing log segments, keeping per‑key state in an internal DB, partitioning high‑ vs low‑throughput streams.
  • Debate over whether log order must be strict:
    • Some propose peer‑to‑peer, append‑only “ledgers” where order is secondary and corrections are new entries.
    • Others argue that without strong ordering you can’t stream correctly or reason about deletes/negations.

Use cases, edge scenarios, and practicality

  • Offline/edge scenarios (e.g., a store losing connectivity) spark discussion of CRDT‑like payments, outboxes, and consensus variants.
  • Some see logs as a natural fit for financial systems and reconciliation; analogies to general ledgers and journal entries recur.

Licensing and openness

  • Restate uses the Business Source License (not OSI‑open); some are wary of vague restrictions on “Application Platform Service” use and request clearer grants.