This is a series of posts that will explore service to service call patterns in some of the application runtimes in Google Cloud. This specific post will explore GKE without using a service mesh and the next post will explore GKE with Anthos Service Mesh.
Set Up
The set-up is simple, two applications - caller and producer are hosted on the application runtime with caller making a http request to the producer. An additional UI is packaged with the caller that should make it easy to test the different scenarios.
The producer is special, a few faults can be injected into the producers response based on the post body from the caller:
- An arbitrary delay
- A specific response http status code
These will be used for checking how the runtimes behave under faulty situation.
GKE Autopilot Runtime
- As the request flows from the browser to the caller to the producer, the headers are captured at each stage and presented. There is nothing special with the headers so far, once service meshes come into play they start to get far more interesting.
- The delay does not do anything, the browser and the caller end up waiting no matter how high the delay.
- Along the same lines, if the producer starts failing, caller continues to send requests down to the service, instead of short circuiting it.