While Consul has lots of benefits, the following points need to be taken care of while selecting Consul:
- Clients need to write their own load-balancing, timeout, and retry logic. To avoid writing complete logic, we can utilize the following node module at https://www.npmjs.com/package/resilient.
- The client needs to implement fetch logic, and cache, and Consul failure handling individually unless we utilized Registrator. These needs to be written separately for each language in the ecosystem.
- Priorities cannot be set for servers; custom logic needs to be written.