如何在go应用程序中读取领事SRV记录? [英] How can I read consul SRV records in my go application?

查看:93
本文介绍了如何在go应用程序中读取领事SRV记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现 consul 来进行服务发现,但是在两件事上遇到了麻烦:连接到自定义DNS服务器,并格式化我的 net.LookupSRV() 请求。

I am trying to implement consul for service discovery, and I am having trouble with two things: connecting to a custom DNS server, and formatting my net.LookupSRV() request.

这是我要从go应用程序中查找的内容:

Here is what I'm trying to look up from within my go app:

$ dig @127.0.0.1 -p 8600 serviceb.service.consul SRV

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @127.0.0.1 -p 8600 serviceb.service.consul SRV
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4511
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;serviceb.service.consul.   IN  SRV

;; ANSWER SECTION:
serviceb.service.consul. 0  IN  SRV 1 1 80 az1-serviceb1.node.dc1.consul.
serviceb.service.consul. 0  IN  SRV 1 1 80 az2-serviceb2.node.dc1.consul.

;; ADDITIONAL SECTION:
az1-serviceb1.node.dc1.consul. 0 IN A   10.6.41.22
az2-serviceb2.node.dc1.consul. 0 IN A   10.6.41.20

;; Query time: 6 msec
;; SERVER: 127.0.0.1#8600(127.0.0.1)
;; WHEN: Fri May 16 15:09:28 2014
;; MSG SIZE  rcvd: 275

,这是相关代码。 (我知道这是错误的,但是只是为了您可以看到我要执行的操作)

and here is the relevant code. (I know it's wrong, but just so you can see what I'm trying to do)

cname, addrs, err := net.LookupSRV("serviceb", "service", "consul")
log.Printf("%+v %+v %+v", cname, addrs, err)

并输出:

2014/05/16 15:24:31  [] lookup _serviceb._service.consul: no such host

任何帮助将不胜感激!谢谢

Any help would be appreciated! thanks

推荐答案

尝试使用更犀利的工具,例如 github.com/miekg/dns 软件包。上次查看它时,它几乎可以控制客户端设置的每一部分来进行DNS解析。

Try to use a more sharp tool such as the github.com/miekg/dns package. Last time I looked at it, it allowed to control virtually every bit of the client-side setup to do DNS resolution.

这篇关于如何在go应用程序中读取领事SRV记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆