Implement a custom DNS resolver working well with bult-in round robin load balancing in Go client
Gitaly provides a Go client that is used in other projects. As part of &8971 (closed), we need to implement support for client-side load balancing in our client. To do so, we need to implement a custom balancer in gRPC. gRPC provide a hook point for such an implementation: https://pkg.go.dev/google.golang.org/grpc@v1.50.0/balancer.
The implementation should:
- Resolve a domain to get a list of hosts
- Round robin requests to them