golang net Windows 还不支持自定义dns

(金庆的专栏 2019.4)

使用 consul 注册服务,可使用 consul 的 DNS 解析到服务的地址。
但是 golang 直到 1.12 仍然在 Windows 上无法使用自定义的 DNS 服务,并且没有计划支持。

例如本机 127.0.0.1 开 consul, 注册 myservice:8888 服务。
consul DNS 的默认端口为 8600.

grpc 的 Dial() 允许输入一个 dns 地址,以下 grpc.Dial() 在 Linux 机上成功,但在 Windows 上失败:

conn, err := grpc.Dial("dns://127.0.0.1:8600/myservice.service.consul:8888", ...)