Skip to content

Commit f1b282a

Browse files
committed
Updated Readme doc and istio resources
1 parent 7ee6543 commit f1b282a

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

extensions/istio-service-mesh/intelligent-req-routing/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ $ kubectl apply -f ./istio-resources/claims-api-vs.yaml -n dev-claims-istio
1919
#
2020
```
2121

22-
Using a browser (or curl), access the OpenAPI end-point for the Claims API microservice multiple times (refresh). You will observe that the API Spec is returned each time. This is because we configured Istio to forward all API traffic for all context paths other than `/api/v1/claims` to be routed to version **v3** of the **claims-api** service.
22+
Using a browser (or curl), access the OpenAPI end-point for the Claims API microservice multiple times (refresh). You will observe that the API Spec is returned each time. This is because we configured Istio to forward all API traffic for all context paths to version **v3** of the **claims-api** service.
2323

2424
In this section, you have successfully routed traffic to one specific version of the Claims API microservice. It is also possible to route traffic to different service versions based on the value of custom HTTP headers. This option is left as an exercise for you to explore.
2525

extensions/istio-service-mesh/traffic-shifting/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@
33
**Prerequisites:**
44
1. You should have completed Sections **A** thru **I** in the parent project.
55

6+
A common use case is to migrate traffic gradually from one version of a microservice to another. This traffic shifting logic is often referred to as **Canary** deployments. With a canary deployment, a small percentage of the web traffic is directed to the new deployment and the rest goes to the current/existing deployment. If everything goes smoothly, all the traffic is gradually sent to the new deployment.
7+
8+
For the Claims API microservice, we introduced the logic to expose OpenAPI specifications in version **v2**. In version **v3**, we introduced the logic to send application metrics data to Azure Application Insights. Let's now split the traffic equally between versions **v2** and **v3**.
9+
10+
Edit/View the Virtual Service resource file `./istio-resources/claims-api-vs.yaml` to understand how the service is configured to split the traffic between versions **v2** and **v3** of the microservice.
11+
12+
Refer to the command snippet below.
13+
14+
```bash
15+
# Apply the updated Virtual Service resource 'claims-api-vs' on the service mesh
16+
$ kubectl apply -f ./istio-resources/claims-api-vs.yaml -n dev-claims-istio
17+
#
18+
```
19+
20+
Use the Azure Portal and access the *Application Insights* instance. Generate some Claims API traffic and in Azure Application Insights review the application map, live stream metrics and dashboards. You will observe that only 50% of the API calls are instrumented by Application Insights. This is because we configured Istio to split traffic and send only 50% of the API calls to version **v3** of the microservice.
21+
22+
In this section, you have seen how Istio service mesh can be used to split traffic among multiple versions of a microservice.
623

724
**References:**
825
- [Istio Traffic Shifting](https://istio.io/docs/tasks/traffic-management/traffic-shifting/)

0 commit comments

Comments
 (0)