liangdas / mqant

mqant是一款基于Golang语言的简洁,高效,高性能的分布式微服务框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

有关服务器重启后 客户端能否再次连接上服务器端,涉及nats、session

Creat-qc opened this issue · comments

我现在有两个服务,一个客户端一个服务器端,服务器端会保存客户端的session。我想要实现在服务器重启之后,客户端能够直接连上服务器端。目前我了解的是服务器关闭后,客户端不会关闭,会提示连接已经断开,但是之后cs的通讯中,服务器收不到客户端的请求。想问下前辈是为什么?

你看看客户端有没有重连吧

前辈,你是说客户端重连nats嘛,我今天看了下nats的官方文档,上面显示如果断开大多数情况会自动重连,我也没有设置成不允许重连,然后我看了下客户端的启动代码,我是仿照mqant的文档写的,没有对nats的配置
func main() {
task := task.LoopTask{
C: 1,
}
manager := chat.NewManger(task)
fmt.Println("chatroom-client启动")
task.Run(manager)
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
<-c
task.Stop()
os.Exit(1)
}
前辈能帮忙看下哪里出的问题嘛

我不知道你出了啥问题(囧),排查思路是可以在链路的各个节点做一些日志打印,看看那个链路断流了
正常链路是
c-长连接->网关-服务发现转发消息rpc->后端服务节点处理--rpc-->网关-->c