questions icon indicating copy to clipboard operation
questions copied to clipboard

micro --registry=etcd call 报错

Open yoloyi opened this issue 5 years ago • 5 comments

Hi. 谢谢你写的的教程。

我跟着你 part1 写了 user。

namespacego.micro.demo

然后运行测试 Service.QueryUserByName $ micro --registry=etcd call go.micro.demo.srv.user User.QueryUserByName '{"userName":"micro"}'

返回结果 error calling go.micro.demo.srv.user.User.QueryUserByName: {"id":"go.micro.client","code":500,"detail":"connection error: dial tcp [fe80::1]:64053: connect: no route to host","status":"Internal Server Error"}

我 etcd 环境是 Docker 并且在运行的时候与你教程上的结果一致。

但是就是在测试的时候,报这个500的错误。

服务运行output image

服务测试 output

image

期待你的解答。谢谢

yoloyi avatar Dec 18 '19 05:12 yoloyi

IPv6?我没有这个网络,看你的服务没有问题。

printfcoder avatar Dec 23 '19 09:12 printfcoder

把go-micro的版本升到最新试试,再重新编译micro

printfcoder avatar Dec 23 '19 09:12 printfcoder

新版本不行,这个问题是网卡的问题。

后面我在每一个运行的时候 指定serve_address 就可以。。公司环境劝退。

yoloyi avatar Dec 27 '19 06:12 yoloyi

实在没辙。我觉得,在这种特定的情况,这个算是一个 micro 的 issue。看网络上的一些资料,这种情况还挺常见的。

yoloyi avatar Dec 27 '19 06:12 yoloyi

不太紧急的问题,ip会拿查询到的第一个,这里确实有待商榷,不过可以使用指定ip先来用着,线上环境一般不会有多网卡的,PC机才会有。

printfcoder avatar Dec 30 '19 01:12 printfcoder