apache / dubbo-go

Go Implementation For Apache Dubbo .
https://dubbo.apache.org/
Apache License 2.0
4.71k stars 925 forks source link

provider 下线后不断重连 #2159

Closed bobtthp closed 1 year ago

bobtthp commented 1 year ago

registryType: service protocol: triple

依赖版本:

require ( dubbo.apache.org/dubbo-go/v3 v3.0.4-rc1 github.com/BurntSushi/toml v1.1.0 // indirect github.com/apache/dubbo-go-hessian2 v1.11.4 github.com/dubbogo/grpc-go v1.42.10 github.com/dubbogo/triple v1.2.2-rc2 github.com/gin-gonic/gin v1.8.1 google.golang.org/protobuf v1.28.1 )

现象: 当完成 consumer 和 provider 启动后, 手动关闭 provider 进程 consumer 会出现不断重连和如下日志打印,即使在启动 provider 也不会停止

github.com/apache/dubbo-getty.(client).dialTCP /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/client.go:173 github.com/apache/dubbo-getty.(client).dial /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/client.go:346 github.com/apache/dubbo-getty.(client).connect /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/client.go:384 github.com/apache/dubbo-getty.(client).reConnect /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/client.go:441 github.com/apache/dubbo-getty.(session).stop.func1 /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/session.go:843 sync.(Once).doSlow /usr/local/go/src/sync/once.go:68 sync.(Once).Do /usr/local/go/src/sync/once.go:59 github.com/apache/dubbo-getty.(session).stop /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/session.go:833 github.com/apache/dubbo-getty.(session).handlePackage.func1 /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/session.go:587 github.com/apache/dubbo-getty.(session).handlePackage /Users/bobtthp/go/pkg/mod/github.com/apache/dubbo-getty@v1.4.9-0.20221022181821-4dc6252ce98c/session.go:614 runtime.goexit /usr/local/go/src/runtime/asm_arm64.s:1133

AlexStocks commented 1 year ago

@justxuewei @binbin0325 @ZLBer

bobtthp commented 1 year ago

问题1: 当 provider 最后一个节点下线,目前老的 invoker 不会被清理

https://github.com/nacos-group/nacos-sdk-go/issues/494 这个issue解决后,nacos 推送空实例列表,从而清理 oldinvoker

bobtthp commented 1 year ago

问题2:https://github.com/apache/dubbo-go/pull/2166