CONCEPT Cited by 1 source
Market Group (country-level isolation)¶
Definition¶
A Market Group is a named deployment instance of a serving API that owns a subset of the geographic markets (countries) the platform serves. It is a blast-radius containment primitive: multiple Market Groups run the same serving code on disjoint country subsets, with a routing layer that can shift traffic between groups independently of the application.
The term is Zalando-originated, from the PRAPI write-up:
"To achieve a level of country-level isolation, multiple instances of PRAPI are deployed—known as Market Groups— with each serving a subset of our countries. Routing configuration allows us to dynamically shift traffic between Market Groups, allowing us to isolate internal or canary test traffic from high-value country traffic." (Source: sources/2025-03-06-zalando-from-event-driven-chaos-to-a-blazingly-fast-serving-api.)
Market Group is a specific, geography-axis instance of the more general cell-based architecture pattern.
Why the geography axis specifically¶
- Customer-experience homogeneity within a country. Pricing, stock catalogue, tax, language, legal requirements are country-scoped; keeping each country's traffic in a dedicated serving instance means failures, bad deploys, and load spikes stay bounded within their market.
- Independent failure domains. A DynamoDB hot-partition event, a poisoned Kafka offset, or a bad config push that lands on one Market Group cannot fan out across the whole platform.
- Traffic-shift as a canary primitive. New versions can be deployed to a low-value Market Group (e.g. a small country or an internal-test group) first; the routing layer ramps traffic to it before touching high-value groups.
- Independent scaling. Cyber Week traffic in DACH vs. Nordic markets scales differently — Market Groups scale their Updaters, serving pods, and DynamoDB capacity independently.
- Fast cold-fill. Bringing up a new Market Group bottlenecks on DynamoDB write capacity (adjustable in minutes), not on the serving-cluster bootstrap time.
What Market Groups don't do¶
- They are not a sharding key. Within a Market Group, product data is still hashed across pods (e.g. via CHLB). Market Groups partition the deployment, not the dataset.
- They are not a region. A Market Group is a country- subset label applied to a deployment in a single (potentially multi-AZ) region; multi-region failover is orthogonal.
- They do not by themselves guarantee per-country data residency — the underlying DynamoDB may still span regions unless the Market Group is also data-region- locked.
Seen in¶
- sources/2025-03-06-zalando-from-event-driven-chaos-to-a-blazingly-fast-serving-api — PRAPI's canonical instance. Each Market Group's Updaters scale horizontally up to the source-stream partition count.
Related¶
- concepts/blast-radius — the containment discipline
- concepts/cell-based-architecture — the general form
- systems/zalando-prapi — the canonical consumer
- patterns/market-group-isolation-for-serving-api — the pattern write-up