The Productivity Trap

22 years ago I was working on an emerging markets study for Microsoft to understand the life of people in China, Thailand and India. The overall objective was to help our client team understand how…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Linkerd as a Service Mesh for your application in Kubernetes Cluster

This series contains four episodes of a single story. The story is about a production ready service mesh that adds reliability, security, and visibility to cloud native applications.

A story of Linkerd as a service mesh which can handle tens of thousands of requests per second and balance traffic across the application. Linkerd works great in the kingdom of Kubernetes for the integrated service discovery system and the easy horizontal scaling.

We will know the story step-by-step how Linkerd works alongside an application running in Kubernetes.

These four episodes will come in the original sequence:

How Linkerd will work as a service mesh alongside your application in Kubernetes cluster?

To answer this question, we need to know the network flow within your application. We will imagine a sample application with four services.

From this diagram, we get a picture of network flow within the application. Though we can see routes in this diagram, Lets make it more clear.

To form service mesh, Linkerd will sit between any two services and take full responsibility of any service-to-service communication. Instead of talking to each other directly, a service will rely on service mesh by passing its requests to its neighboring Linkerd. The job of Linkerd is to forward these requests to the destination service. But to keep proper balance of traffic, this Linkerd will extend the job to another Linkerd who will forward the original messages to its neighboring destination service.

Simple! Right?

Source: Google

Linkerd can be run as sidecar but it has a downside. Deploying Linkerd per pod means resource costs scale per pod. Multiple pods for a lightweight service will cost quite high. An alternative solution is to run Linkerd per node which allows resource costs scale per node.

In this service mesh setup, each node will have a Linkerd pod with one or more instance of all four services. Each node will form a separate neighborhood.

There will be no service-to-service direct communication across the neighborhoods, only Linkerd is allowed to talk to another Linkerd.

From this moment, we will level Linkerd as L1 and L2. Linkerd who receives calls from neighboring service is L1 Linkerd and who finally sends messages to its neighboring service is L2 Linkerd.

Lets see step-by-step to understand this service mesh better.

Upcoming Episode: Configure Linkerd for your application running in Kubernetes.

Add a comment

Related posts:

Tempat makan enak dan terdekat buat keluarga di surabaya

Apakah kalian bingung mencari tempat makan enak dan menggugah selera, apalagi buat kulineran bersama keluarga atau juga rombongan sahabat. jadi bagi kalian yang sedang berlibur atau berkunjung ke…

Syncing your user data

If you have enabled SMS domain and your user makes a query: “Text Alice.”, the user will be asked to provide the missing contact number. If the name is not common it might not even get recognized…

3 Terrible Mothers In The Animal Kingdom

The quokka is a marsupial from down under. Mostly populating Rottnest island south west of mainland Australia. They are very cute and most aren’t afraid of humans. They are a huge tourist attraction…