在查看Consul Golang
API文档后,我找到了解决方案。最好的方法是使用PreparedQueries:
preparedQuery := consul.PreparedQuery()queryID, _, err := pq.Create(&consulapi.PreparedQueryDefinition{ Name: "DnsQuery", Service: consulapi.ServiceQuery{ Service: "Processor", OnlyPassing: true, },}, &consulapi.WriteOptions{})if err != nil { fmt.Println(err)}res, _, _ := preparedQuery.Execute(queryID, &consulapi.QueryOptions{})for _, node := range res.Nodes { fmt.Println(node.Service.Address, node.Service.Port)}
res.Nodes是服务端点的一部分。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)