5 Traffic control: fine-grained traffic routing

 

This chapter covers:

  • Traffic routing basics
  • Traffic shifting when doing a new release
  • Mirroring traffic to reduce the risk of a new release
  • Controlling traffic leaving a cluster

In the previous chapter, we saw how to get traffic into a cluster and what considerations we needed to account for when doing so. Once a request makes it into our cluster, how does it get routed to the appropriate service to handle the request? How do services that live within the cluster communicate with other services that live within the same cluster or sometimes that live outside the cluster? Lastly, and most importantly, when we make changes to a service and introduce new versions, how do we safely expose our clients and customers to these changes with minimal disruption and impact?

As we’ve seen Istio service proxies broker the communication between services within the service mesh cluster and gives us a point of control for traffic. Istio allows us to finely control traffic flowing between applications down to the individual request. In this chapter, we’ll take a look at why you might want to do that, how to do it, and what benefits you should achieve when utilizing these capabilities.

5.1  Reducing the risk of deploying new code

 
 
 

5.1.1  Deployment vs Release

 

5.2  Routing requests with Istio

 
 
 

5.2.1  Clean up our workspace

 
 

5.2.2  Deploy v1 of catalog service

 
 

5.2.3  Deploy v2 of catalog service

 

5.2.4  Route all traffic to v1 of catalog

 
 
 

5.2.5  Route specific requests to v2

 
 
 

5.3  Traffic shifting

 
 
 

5.4  Lowering risk even further: Traffic mirroring

 
 

5.5  Routing to services outside your cluster by using Istio’s service discovery

 
 

5.6  Summary

 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage