Skip to content

PATTERN Cited by 1 source

Decider Pattern (Workflow Routing)

Definition

A Decider Pattern inserts a routing step into a workflow orchestrator that consults a dynamic control-plane registry to determine which implementation (connector, service, version) should handle a given unit of work. The registry is updatable without modifying any downstream workflow, enabling instant upgrades and rollbacks per-job.

Canonical example

Netflix's Cassandra-to-Iceberg data-movement migration (Source: sources/2026-06-19-netflix-the-evolution-of-cassandra-data-movement-at-netflix):

  1. User defines a data-movement job via Data Bridge — definition unchanged.
  2. Maestro workflow executes a Decider step.
  3. Decider invokes Connector Controller with job attributes (source cluster, table, destination, migration cohort).
  4. Controller returns the appropriate connector: Casspactor (legacy) or Move Data (new).
  5. On Move Data failure → workflow immediately executes Casspactor fallback.

Key properties

  • Zero user impact — job definitions and output contracts are unchanged.
  • Per-job granularity — routing decisions can be scoped to cohorts, individual tables, or clusters.
  • Instant rollback — update registry config, not code.
  • Safety net — combined with patterns/fallback-on-new-connector-failure to guarantee completion even during new-connector teething.

Relationship to other patterns

Seen in

Last updated · 546 distilled / 1,578 read