Communication¶
Evolve API contracts, deliver real-time updates, and route traffic to the right target — while old and new consumers run at the same time.
This section covers how services and clients talk to each other, end to end: the API contracts they agree on, how updates reach a client in real time, and how traffic actually gets routed and delivered once a request leaves the client. The transport and network layer underneath all of this — TCP/IP, TLS, HTTP evolution, VPCs — lives in Infrastructure → Network.
API contracts and evolution¶
| # | Topic | Practice outcome |
|---|---|---|
| 01 | API Gateway | Centralize edge policy without centralizing domain logic. |
| 02 | REST Design at Scale | Keep resource contracts predictable under growth. |
| 03 | GraphQL Federation | Define schema ownership and composition checks. |
| 04 | gRPC and Streaming | Operate long-lived and backpressured streams. |
| 05 | Versioning and Deprecation | Migrate consumers with measurable exit conditions. |
| 06 | Pagination and Filtering | Preserve stable traversal under changing data. |
| 07 | Idempotency and Retries | Prevent duplicate effects across failures. |
| 08 | Webhooks | Deliver signed events with retry and replay controls. |
| 09 | Backends for Frontends | Give client experiences focused composition boundaries. |
Real-time and long-lived connections¶
| # | Topic | Practice outcome |
|---|---|---|
| 10 | WebSockets | Operate a bidirectional connection safely. |
| 11 | Long Polling and Streaming | Match delivery style to update behavior. |
Traffic routing and delivery¶
Each of these is a topic cluster with its own set of subtopics — open the cluster's README for the full breakdown.
| # | Cluster | Focus |
|---|---|---|
| 12 | Load Balancers | Route traffic only to capable targets and prove failure detection and recovery behave as designed — 7 subtopics from L4/L7 routing to global server load balancing. |
| 13 | Content Delivery Networks | Control which responses are cached, where they're served, and how stale or unsafe content is removed — 5 subtopics from pull/push CDN to cache invalidation. |
| 14 | Domain Name System | Resolve a name deliberately, predict cache behavior, and roll out record changes without guessing — 5 subtopics from resolution flow to GeoDNS/anycast. |
Practice loop¶
Choose one contract change, list every active consumer, deploy a compatible intermediate state, and define the telemetry that proves the old contract can be removed. For the routing and delivery clusters, use each cluster's own practice loop — the loop differs by what you're actually changing (a cache key, a health check, a DNS record).