Istio, eBPF and RSocket Broker: A deep dive into service mesh
In the microservice era, where a complex application is decomposed into mutliple units that componentize, collaborate, and connect, services tends to have more and more business responsibilities tied to them which make difficulty of service goverance unprecedented. Relying solely on microservice framework-level governance is not enough and building a high dimensional in-depth governance system should be addressed.
This article discuss service governance through different lenses. By looking at traditional and modern approaches, you’ll gain a good understanding of Service Mesh, Istio, eBPF and RSocket Broker.
1. Service governance
Governance refers to processes for establishing and enforcing how microservices work together to achieve the business objectives for which the system was designed and built for. It is very important that services do not go outside their context boundary.
Governance of services can be achieved in multiple ways:
- Service registration and discovery: Consul, ZooKeeper
- Service configuration: Spring Cloud Config
- Service fuse: Hystrix
- Gateway: Zuul, Spring Cloud Gateway
- Load balancing: Ribbon, Feign
- Tracking tools: Sleuth, Zipkin, Htrace
- Monitoring: Grafana, Promethues
Later on, we discuss a few of them.
Service registration and discovery
In the era of cloud server architecture, single large monoliths applications are broken up into smaller individually deployable units refered as microservices.
When a service wants to communicate with other service, it needs to know the IP address and Port number of the remote end. One straightforward solution is to maintain a configuration file holding the IP address and port to target services. This comes with a lot of cons, one of them is Cloud scalability. Cloud offers us the capability to scale and shrink our servers instances based on the current load, following the mentioned approach puts you in a situation where you can not utilise this capacity.
This is where Service Discovery comes into the picture. It helps solve the above problem by providing a way to register a…