For most software companies resilience means that the replication factor is 2 or higher.
Well that's far from good. You resilience is still bad as with two instances of your weak micro service.
One way to increase the internal resilience of your service is to decouple external service calls. This includes Data Base operations, Kafka, HTTP. For HTTP calls it is very common and most developer understand that this HTTP calls can go wrong but Data Base calls, yes all external services are running over a network, firewall, load balancer, switches, ... So it's a good idea to make all external call more resilient:
- Put the external calls into own treads. This keeps your application running in case of an error or time out.
- And have a time out or watchdog on it. By the way, Java futures are a easy way to do it.
- Extend logs and monitoring to recognize external call errors.

No comments:
Post a Comment