서비스 검색을 위해 consul을 구현하려고하는데 두 가지 문제가 있습니다. 사용자 지정 DNS 서버에 연결하고 내 net.LookupSRV()
요청을 서식 지정하는 것입니다. 여기go 응용 프로그램에서 영사 SRV 레코드를 읽으려면 어떻게해야합니까?
내가 내 이동 응용 프로그램 내에서 찾기 위해 노력하고있어입니다 :
$ 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
! 덕분에
다음은 제가 작성한 블로그 게시물입니다 : http://txt.fliglio.com/2014/05/encapsulated-services-with-consul-and-confd/ 그리고 시작된 라이브러리 프로토 타입 https://github.com/benschw/consul-clb-go –