go-srvlb icon indicating copy to clipboard operation
go-srvlb copied to clipboard

Do you use this in production?

Open keegancsmith opened this issue 7 years ago • 2 comments

Hello, I came across this lib when looking up using srv records in Go. I was interested if you use this in production? If so at what scale and with what DNS provider? I am assuming kubernetes based on some of the other projects. I guess I am hoping for some understanding how hard one can hit the DNS server in k8s and how reliable that is. Currently I have some code which uses the k8s API, but that is a very heavyweight dependence. Just using SRV is very attractive to me.

keegancsmith avatar Feb 21 '18 09:02 keegancsmith

grpc-go now supports SRV records out of the box. https://github.com/grpc/grpc-go/blob/master/resolver/dns/dns_resolver.go#L195

Although this was a useful package, I believe this package should be deprecated in favor of official grpc-go support. Also, this depends on grpc-go packages that have already been deprecated.

GeertJohan avatar Apr 10 '18 10:04 GeertJohan

Yes. It Is running on production in various places for quite a long time (: Works well, even by using naive polling.

grpc-go now supports SRV records out of the box.

This is great, and seems like default option, especially when you use tip of gRPC.

Worth to mention that this library is used also for general dns watcher logic that depends on TTL (or custom frequency), so we cannot use gRPC DNS resolver which resolves only every 30 minutes, with some ResolveNow. It might fit into gRPC logic, but is not generally flexible.

It might be worth to get more info about grpc-go dns_resolver logic, especially interested in seeing more info about this: https://github.com/grpc/grpc-go/issues/2279#issuecomment-417453156 Because if we have such frequency like 30 min and ResolveNow logic for adhoc resolutions, why even having background watcher logic?

bwplotka avatar Nov 29 '18 14:11 bwplotka