mirror of https://github.com/istio/istio.io.git
52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
---
|
|
title: Intelligent Routing
|
|
description: This guide demonstrates how to use various traffic management capabilities of an Istio service mesh.
|
|
weight: 20
|
|
---
|
|
|
|
This guide demonstrates how to use various traffic management capabilities
|
|
of an Istio service mesh.
|
|
|
|
## Overview
|
|
|
|
Deploying a microservice-based application in an Istio service mesh allows one
|
|
to externally control service monitoring and tracing, request (version) routing, resiliency testing,
|
|
security and policy enforcement, etc., in a consistent way across the services,
|
|
for the application as a whole.
|
|
|
|
In this guide, we will use the [Bookinfo sample application](/docs/guides/bookinfo/)
|
|
to show how operators can dynamically configure request routing and fault injection
|
|
for a running application.
|
|
|
|
## Before you begin
|
|
|
|
* Install the Istio control plane by following the instructions
|
|
corresponding to your platform [installation guide](/docs/setup/).
|
|
|
|
* Run the Bookinfo sample application by following the applicable
|
|
[application deployment instructions](/docs/guides/bookinfo/#deploying-the-application).
|
|
|
|
## Tasks
|
|
|
|
1. [Request routing](/docs/tasks/traffic-management/request-routing/) This task will first
|
|
direct all incoming traffic for the Bookinfo application to the v1 version of the
|
|
`reviews` service. It will then send traffic only from a specific test user to version v2,
|
|
leaving all other users unaffected.
|
|
|
|
1. [Fault injection](/docs/tasks/traffic-management/fault-injection/) We will now use Istio to
|
|
test the resiliency of the Bookinfo application by injecting an artificial delay in
|
|
requests between the `reviews:v2` and `ratings` services. Observing the resulting behavior
|
|
as the test user, we will notice that the v2 version of the `reviews` service has a bug.
|
|
Note that all other users are unaware of this testing against the live system.
|
|
|
|
1. [Traffic Shifting](/docs/tasks/traffic-management/traffic-shifting/) Finally, we will
|
|
use Istio to gradually migrate traffic for all users from to a v3 version of
|
|
the `reviews` service, one which includes the fix for the bug discovered in v2.
|
|
|
|
## Cleanup
|
|
|
|
When you're finished experimenting with the Bookinfo sample, you can
|
|
uninstall it by following the
|
|
[Bookinfo cleanup instructions](/docs/guides/bookinfo/#cleanup)
|
|
corresponding to your environment.
|