当前位置: 首页 > 面试题库 >

如何在go应用程序中读取领事SRV记录?

毋修为
2023-03-14
问题内容

我正在尝试为服务发现实施领事,而在两件事上遇到了麻烦:连接到自定义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解析。



 类似资料:
  • 问题内容: 我有一个Main应用程序和多个工作程序节点,它们在领事中注册。我想通过负载平衡将数据发送到工作节点。使用congo的golang API,我可以在主应用程序上获得可用的服务。 但是,我无法在golang应用程序中获取DNS SRV记录。 如该线程中所述,如何在go应用程序中读取领事SRV记录?,我尝试了github.com/miekg/dns,但没有成功。另外,我尝试使用github.

  • 我有一个API请求,它在数组中返回一个refresh_token,如下所示: 我需要访问这个refresh_token的值,并使用它来查询另一个API。 为此,我尝试首先“ReadAll”响应正文,然后通过调用“刷新令牌”访问其中的密钥。 然而,它不起作用。有没有人知道如何解决这个问题,因为我不明白? 这是我的代码:

  • 问题内容: 我的Flask应用程序结构如下所示 当我运行时,它将在处启动服务器。在我,我尝试打开该文件作为 它给出了错误 如何访问此文件? 问题答案: 认为问题出在你/的道路上。删除,/因为与处于同一级别。 我建议将水平设置为或许多Flask用户喜欢使用,但我不喜欢。 如果这是你要设置的方式,请尝试以下操作: 现在,你可以轻松执行以下操作: 根据需要调整路径和级别。

  • 我正在尝试使用领事作为发现服务,和另外两个Spring启动应用程序注册与领事;把它们放进码头; 以下是我的代码:app: 除了spring boot application.yml和docker-compose.yml之外,下面是app的Dockerfile 开始的时候.sh

  • 问题内容: 我想阅读我的申请。如何找到其文件名? 问题答案: 如何找到其文件名? 您已经拥有了。也许您想找到绝对文件位置?您可以为此使用。 或者,如果您想直接获得它,请使用。

  • 我们有两个配置文件:一个在Spring Boot应用程序(application.properties)中,另一个在ReactJs应用程序(我们在create-react-app中使用.env)中。决定在ReactJs应用程序中也使用Spring Boot application.properties。有谁能指导我如何才能做到这一点吗?我读过关于“Properties-Reader”的文章,并尝试