We’re using linkerd as a client-side load balancer using DNS SRV records, and it looks as if Linkerd is ignoring the priority field in the SRV records. We have DNS entries like this (I’ve changed the hostnames):
_http._tcp.service 300 IN SRV 10 10 8443 service1
_http._tcp.service 300 IN SRV 20 10 8443 service2
_http._tcp.service 300 IN SRV 30 10 8443 service3
and verified these with an nslookup from the box on which linkerd is running. The expected behaviour according to the the SRV RFC is that linkerd should send all requests to service1 since it has the lowest priority field. However what we’re seeing is requests going to all three nodes. Is this deliberate behaviour, or a bug, or have we got something set up wrong?