Microservice architecture is combination of multiple service that talk to each other.
Microservices orchestration is the process of managing and coordinating the interactions between multiple microservices to achieve a specific business goal.
The circuit breaker pattern allows you to build a fault tolerant and resilient system that can survive gracefully when key services are either unavailable or have high latency.
-> Solution
* It cache the response and return cached response at the time of service on which it depends on goes down.
* It also let the another service to cool off by returning response from cached memory. We can set cool off time for other service, suppose 5 mins.
* We can return response by calling to similar service in some cases.
Service Mesh is one more component which actually runs along with every micro-service deployment and helps to do all following things.
- Load balancing (service level)
- Service Discovery
- Metrics
- Retries
- Circuit Breaking
- Timeout
This is implemeted using side-car pattern. It also implements proxy design pattern. Service-Mesh contains following two components.
-> Control Plane - All configuration regarding service-mesh is controlled by this, we also call it control tower.
-> Data Plane - Side-car in all microservices.
- Scalability and throughput
-> Multiple services per VM
-> Service per VM/Container
-> Serverless - Reliable and available
- Isolation
- Resource limit
- Monitor
- Cost-effective