liveBook · Manning

Traffic management

As explained in Google Anthos in Action

Traffic management is the control of how network requests are routed, distributed, delayed, or faulted across service instances and application versions.

Traffic management controls ingress and egress requests across microservices, including routing, distribution between application versions, delays, and injected faults. In a service mesh, proxies handle these controls separately from application logic, so developers can change traffic behavior without modifying code. section 4.2 section 4.3.2

Istio traffic management supports these operational controls:

  • Ingress exposes services outside the mesh through an Istio gateway, using TLS or mutual TLS. section 4.3.2
  • Egress routes outbound traffic to external systems, performs outbound TLS, and can use an HTTPS proxy. section 4.3.2
  • Request routing and traffic splitting direct requests among service versions or migrate traffic gradually between them. section 4.3.2
  • Fault injection adds configurable HTTP delays or status-code faults to expose application responses to unexpected failures. section 4.3.2

A sidecar proxy commonly manages each microservice’s inbound and outbound traffic as a separate process with the service’s lifecycle. A proxyless design can instead send telemetry directly to the control plane. Centralized control supports multicluster and multicloud service meshes, while the operational complexity of Istio can make troubleshooting difficult. section 4.2 section 4.0

Progressive version migration with failure testing

Route one user to a new application version while sending other requests to the current version, then inject an HTTP delay or fault to verify how the application handles the failure. section 4.3.2

Table 4.1 Istio traffic management features (view table figure)

Feature

Description

Ingress

Controls the ingress traffic for the service mesh, to expose a service outside the service mesh over TLS or mTLS using the Istio gateway. In another chapter, we will deep-dive into ingress for Anthos.

Egress

Controls the egress traffic from the service mesh, routes traffic to an external system, performs TLS for outbound traffic, and configures the outbound gateway to use an HTTPS proxy.

Request routing and traffic splitting

Dynamically routes the traffic to multiple versions of the microservice or migrates traffic from one version to another version gradually and in a controlled way.

Fault injection

Provides configurable HTTP delays and fault injection with an HTTP status code, allowing developers to discover problems before they would occur in production.

Use the feature table to compare ingress, egress, request routing and splitting, and fault injection. section 4.3.2

How Google Anthos in Action covers it

How deep it goes
Explains traffic features and sidecar mechanics, but stops short of detailed configuration commands or troubleshooting procedures.
Examples
Uses version-based routing, single-user delivery, gradual migration, HTTP delays, and injected status-code faults as operating examples.
What it assumes
Assumes familiarity with microservices and Kubernetes while introducing service-mesh proxies and centralized traffic control.
What you can do after
Apply it via Istio to route versions, split traffic, expose services, control egress, and test failure responses without application code changes.
How it connects
Connects service meshes with Istio, sidecar proxies, ingress, egress, traffic splitting, canary rollouts, and fault injection.

Also explained in

Compare how 2 books explain traffic management →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Google Anthos in Action. The section links point to the parts of the book it draws on.