4 ms·
No programming language's HTTP/RPC stack supports SRV records. They are just not a thing. Changing your microservices to know about SRV is not a great solution
by alpb 10y ago
No programming language's HTTP/RPC stack supports SRV records. They are just not a thing. Changing your microservices to know about SRV is not a great solution either. Using something like linkerd frees your application from concerns like how discovery and transport is done. SRV is also not compatible with most components out there. e.g. you can't tell memcached/redis to resolve SRV records. You should take a look at how Kubernetes also does not do SRV records, instead it creates an IP address per service for intra-cluster communication. A/AAAA names work with legacy applications and are backwards compatible. That's pretty much why open source community has not been rolling out a major solution based on SRV.
- jimktrains2 10y agoMultiple A records are also fine. Also more supported as you pointed out. Unless you're constantly talking to a service, your stats will get old quickly. It could also cause everyone to target a specific host creating problems. I'm still not sure what service discovery is required beyond knowing the name of a service. Linkerd doesn't free me from anything. I still need to know how it's done, how it's configured, and how to fix it when it breaks.