在重连尝试之间等待

不断地尝试连接到同一台服务器是没有太大意义的。为了防止这种频繁的重试和浪费的重连尝试,特别是在使用TLS时,库通常会提供一个等待时间设置。一般来说,客户端会在两次尝试连接到同一服务器之间确保至少经过了一定的时间间隔。具体的实现方式取决于所使用的库。

这个设置不仅能够避免浪费客户端资源,还能缓解在没有其他可用服务器时可能出现的 thundering herd(惊群效应)问题。

// Set reconnect interval to 10 seconds
nc, err := nats.Connect("demo.nats.io", nats.ReconnectWait(10*time.Second))
if err != nil {
    log.Fatal(err)
}
defer nc.Close()

// Do something with the connection

最后更新于