Improvement of the standard circuit breaker pattern in microservices to prevent calls to the open endpoints earlier. This is the final project of my undergraduate degree at the Bandung Institute of Technology.
A standard circuit breaker only limits the call to the open endpoints of the service that knows the state. The main purpose of a distributed cascading circuit breaker (DDCB) is to broadcast the change in circuit breaker state to the first service in the chain of services. DCCB acts as a sidecar container that lives in the same pod as the service's pod. Furthermore, the DCCB can broadcast the change of state to all the services that need to call the endpoint, regardless of the number of service replicas and the node where their pods live. This was tested in a local Kubernetes environment. Because of the complexity of possible microservice architectures, DCCB has not handled the service orchestration yet.
Go, Gokit, gRPC, Apache Kafka, Apache KvRocks, Docker, Kubernetes
- Broadcast the change of circuit breaker state to all needed services
- Add exception and alternative endpoints via config file
This project was inspired by https://github.com/naufal-dean/ccb
Feel free to contact me at argakoesoemahmdaffa@gmail.com