From 819b4725f2e30c9311f0bf05e046b7c6d1c5ea5b Mon Sep 17 00:00:00 2001 From: zhouyuyan Date: Thu, 18 Jan 2018 09:17:48 +0800 Subject: [PATCH] modify route --- broker/broker.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/broker/broker.go b/broker/broker.go index 2d77382..ffda81c 100644 --- a/broker/broker.go +++ b/broker/broker.go @@ -342,12 +342,31 @@ func (b *Broker) ConnectToRouters() { func (b *Broker) connectRouter(url, remoteID string) { var conn net.Conn var err error + var timeDelay time.Duration = 0 + retryTimes := 0 + max := 32 * time.Second for { conn, err = net.Dial("tcp", url) if err != nil { log.Error("Error trying to connect to route: ", err) + + if retryTimes > 50 { + return + } + log.Debug("Connect to route timeout ,retry...") - time.Sleep(5 * time.Second) + + if 0 == timeDelay { + timeDelay = 1 * time.Second + } else { + timeDelay *= 2 + } + + if timeDelay > max { + timeDelay = max + } + time.Sleep(timeDelay) + retryTimes++ continue } break