All Products
Search
Document Center

Alibaba Cloud Service Mesh:Traffic lanes

Last Updated:Mar 11, 2026

A canary release typically targets a single service. But when services form call chains, isolating one service is not enough -- canary traffic must stay isolated across the entire chain. If a request hits the canary version of Service A but routes to the stable version of Service B, the test results are unreliable.

Service Mesh (ASM) traffic lanes solve this by grouping a specific version or features of an application across a call chain into an isolated runtime environment. Lane rules route matching requests to the correct version of every service in the chain, keeping canary traffic separate from production traffic end to end. This makes it straightforward to build isolated environments for traffic from the gateway to services, release multiple services simultaneously, or develop multiple versions in parallel.

Traffic lanes operate in two modes -- strict and permissive -- that differ in how they handle services missing from a lane.

Key concepts

TermDefinition
Traffic laneAn isolated runtime environment that groups a specific version or features of an application across a call chain.
Lane ruleA routing rule that directs matching requests to the target lane.
Baseline laneThe lane that contains all services in the call chain. In permissive mode, other lanes fall back to the baseline for missing services.
E2E pass-through request headerAn HTTP header propagated across every service in a call chain. In permissive mode, this header identifies which lane a request belongs to.

How it works

Strict mode

In strict mode, every lane contains all services in the call chain. ASM routes requests to the matching lane based on lane rules, with no fallback needed.

Because each lane is self-contained, strict mode requires no changes to your application code -- no header propagation is needed.

Strict mode architecture

For setup instructions, see Use traffic lanes in strict mode to manage end-to-end traffic.

Permissive mode

In permissive mode, only the baseline lane must contain all services. Other lanes can contain a subset. When a request reaches a service that does not exist in the current lane, ASM forwards it to the baseline lane. When that service becomes available in the lane again, traffic automatically routes back.

This fallback mechanism requires your application to propagate an E2E pass-through request header across every service call in the chain. Each lane uses a distinct header value, so ASM can identify which lane a request belongs to throughout the call chain.

Permissive mode architecture

For setup instructions, see:

Choose a mode

Strict modePermissive mode
When to useCanary releases that cover all services in a call chain.Canary releases that target only some services in a call chain.
Application requirementNone. No code changes needed.Propagate an E2E pass-through request header with a distinct value per lane across all service calls.
Lane compositionEvery lane must contain all services in the call chain.Only the baseline lane must contain all services. Other lanes contain only the services under test.
FlexibilityLower -- every lane is a full replica of the call chain.Higher -- test new versions of individual services without replicating the entire chain.

What's next