Observed facts: Modal says every request in a session is routed to the same container, and that session tokens encode routing metadata validated by its proxies. The post also says autoscaling monitors active session counts and queued demand; containers can be configured for one or more concurrent sessions.
Mechanism: Token-carried routing metadata identifies the session's container; the owning host tracks lifecycle, while load balancers use periodically probed concurrency snapshots and recent routing decisions. This design keeps the routing map out of proxy state while retaining an affinity target tied to a session.
Why now: Modal identifies voice agents, streaming speech-to-text, stateful web UIs, and multiplayer games as workloads where reconnecting to a different process can lose continuity. Session affinity addresses that gap without the scale ceiling of setting max_containers=1.
Implications: Builders gain a managed routing primitive for stateful interactive workloads, while session concurrency and queueing become explicit capacity concerns. It does not by itself establish durable application state or recovery if a container disappears. Evidence boundary: The evidence is Modal’s product engineering post; it describes the design and intended use cases but provides no independent benchmark or reliability results.
Watch condition: Watch for published behavior under container replacement, session expiry, and overload, including whether active sessions recover or fail and how queue delays vary with session concurrency.