Hey Robin,
You have a few options here:
* DNS A / AAAA record resolution with well known ports. This avoids the need for SRV records + custom code.
* DNS SRV lookups, typically this is invasive of code, but solves the unknown port issue.
* Consul HTTP API, again invasive but avoids unknown port and address issue.
* consul-template + configuration, avoids both well known port and address, avoids code changes. This is typically
a fairly easy path.
* consul-template + HAProxy, in cases where an app cannot take a list of addresses, you can use HAProxy as a reverse
proxy configured dynamically via consul-template.
The advantage over Route53 is a few fold, Consul is vastly more dynamic and is designed to understand things like
health check, and has native clients to register, run health checks, etc. With Route53 you have to write all of that yourself,
plus it’s not designed to be a dynamic system with sub-second update speeds.
Hope that helps!
Best Regards,
Armon Dadgar