How Istio service mesh can keep Spring Boot microservices light weight
How Istio
service mesh can keep Spring Boot microservices light weight
Over the years
Spring Boot has become de facto chose for designing in building microservices.
The micro
service architecture brings lot of benefits by decomposing monolith into small
independent components. However, which also brings common challenges related to
distributed computing architecture.
To overcome
those challenges spring cloud has added many libraries like
-
Eureka
for service registry
-
Hystrix
for circuit breaker
-
Zipkin
for distributed tracing to name a few.
All the above
mentioned are cross cutting concerns and not limited to specific microservices.
Hence one
need to add these libraries into all micro services and embed them in the code
by annotating them.
This is
invasive approach.
As Kubernetes
become preferred container orchestration platform, service deployed on Kubernetes
can leverage Service mesh like Istio & Linkerd to solve the above problem differently.
Service mesh
creates sidecar container in the same pod where microservices is running. The
service mesh agent running as sidecar is application aware L7 proxy which can intercept
and inbound and outbound traffic and provide capabilities like
-
Load
balancing
-
Circuit
breaker
-
Distributed
tracing
-
TLS
encryption
-
Observability
-
Traffic
splitting etc.
Since Mesh
operates at network level, its non-invasive approach i.e. no changes required
in application and hence micro service only contain code which is required for
satisfying functional requirements.
Comments
Post a Comment