https://github.com/fmo/resilient-microservices-with-golang
How to have resilient microservice applications. Here are the core patterns and examples
https://github.com/fmo/resilient-microservices-with-golang
circuit-breaker fault-tolerance golang microservices-architecture resilience resiliency
Last synced: 6 months ago
JSON representation
How to have resilient microservice applications. Here are the core patterns and examples
- Host: GitHub
- URL: https://github.com/fmo/resilient-microservices-with-golang
- Owner: fmo
- Created: 2024-07-28T14:43:52.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-10-12T12:43:00.000Z (9 months ago)
- Last Synced: 2024-11-08T19:49:58.732Z (8 months ago)
- Topics: circuit-breaker, fault-tolerance, golang, microservices-architecture, resilience, resiliency
- Language: Go
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Resiliency Patterns in Microservices
Suppose there is no proper resiliency pattern for interservice communciaton. In that case, it can cause a cascading failure in that the Order service also becomes unreachable,
even though it should be able to handle other types of requests that do not depend on the Payment service.* They should fail fast now and retry later
* Microservices has to be fault tolerant## Timeouts
Timeout pattern is good but down side of it is it waits undefined time which maybe something not wanted if the service is already got back to up and running.
## Retry Pattern
There are temproary errors which heals itself in short amount of time
* Instant network failures
* Temproarily unavailable services
* Resource exhaustion of service due to loadThe retry pattern enables us to retry a failed call automatically.
## Circuit Breaker Pattern
Fail fast in case of errors and enables you to perform the default or fallback operations
## Health Checks
Monitor the remote services and remove from the load balancer automatically or stop routing requests when it is
unhealthy## Fail-over and Redundancy
Redundancy and failover capabilities ensures that if one instance or component fails, another can take over.
## Fallback Mechanism
Fallback mechanisms provide an alternative response or behaviour when a remote operation is failing.