gpt4 book ai didi

dns - 如何在我的 go 应用程序中读取 consul SRV 记录?

转载 作者:IT王子 更新时间:2023-10-29 01:15:02 27 4
gpt4 key购买 nike

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

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

$ 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

这是相关代码。 (我知道这是错误的,但只是为了让你看到我正在尝试做的事情)

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

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

最佳答案

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

关于dns - 如何在我的 go 应用程序中读取 consul SRV 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com