Product fit and non-fit
Responsibility: prevent inappropriate adoption and architecture drift.Authority: product boundary.
Owner role: product/architecture. Change policy: a change requires product sign-off.
Strong fit
Akter fits when the domain has many addressable things whose mutations should serialize and whose behavior combines relational data with one or more of:- durable commands and retry-safe receipts;
- realtime connections and cursor-based events;
- timers or recurring commands;
- external calls that need retry and dead-letter recovery;
- finite workflows owned by the same identity;
- tenant-aware placement and caller attribution.
Conditional fit
- Read-heavy systems fit when writes have clear actor ownership and SQL serves cross-actor reads.
- Transient coordination fits with activation-local values when forgetting state after hibernation is acceptable.
- Batch work fits when it belongs to an actor job or workflow; independent bulk computation may need a separate compute system.
- High throughput fits when it partitions across many actor identities rather than concentrating on one hot identity.
Poor fit
- one globally hot mutable object that must scale linearly across workers;
- workloads dominated by atomic mutation across many unrelated actors;
- analytics systems whose core operation is broad scans rather than identity-local behavior;
- hostile or untrusted code execution;
- applications unwilling to operate or consume Postgres-compatible storage;
- systems that require exactly-once external outcomes from providers with no idempotency or reconciliation;
- teams primarily seeking a mature standalone workflow ecosystem rather than an actor framework.