Continuing with my short intro articles of microservice-related concepts, the next question I wanted to tackle is traffic. All these articles are short, so hopefully you can read through something quick while getting a cup of coffee.
I'm sure you've heard of north south, or east west traffic. This article hopefully will explain this in terms of microservices, and the lingo that goes along side these terms.
When you have a kubernetes cluster with your services running, how does the outside end-user actually come into contact with your service? Or maybe it's something that trying to access a microservice in your cluster. This is what's considered to be north traffic - i.e an outside request coming to your cluster. To handle this incoming traffic, you can set up a load balancer. A kubernetes load balancers (LB) gives a single external IP address that will forward all your incoming traffic to your service.
South traffic is for when you have requests leaving your cluster (maybe you are returning a response, or you need to call an external API). While there is an ingress resource type provided by the Kubernetes API, there is no egress resource type :( . This is where something like Istio's Egress Resource comes in handy.
East-West traffic is considered to be your services communication with each other. Generally speaking, this is traffic within a data centre ("server to server traffic"), and the definition translated to reflect traffic within one's cluster. This is more straightforward than North-West.
Hope this quick read taught you something! Have a great day 🌟