Re: Go router and NTAS behavior


Mark St.Godard
 

Also bosh / monit scripts would handle case in which if gorouter starts up
but if NATS is unavailable (for some reason), once NATS becomes healthy,
gorouter will eventually be restarted via monit scripts and connect to NATS

For example, on bosh-lite, ssh into nats_z1, stop nats. Then ssh into
router_z1 and restart gorouter. It will fail since nats is down. The
gorouter process will not be running. Then start nats back up, and shortly
after you should see router_z1's gorouter start up and connect to NATS

Cheers


On Tue, Dec 1, 2015 at 9:24 AM, Mark St.Godard <markstgodard(a)gmail.com>
wrote:

Hi Minoru

This logic is just on initial startup of the gorouter. If a gorouter
instance starts up and connects to NATS server
but if NATS becomes temporarily unavailable, the gorouter instance will
not terminate.

Cheers

On Tue, Dec 1, 2015 at 4:16 AM, Nitta, Minoru <minoru.nitta(a)jp.fujitsu.com
wrote:
Hi all,

I have a question about GoRouter and NATs communication. According to the
source code
of Gorouter, GoRouter process exits when timeout occurs between the
connection to NATs.
That's because

https://github.com/cloudfoundry/gorouter/blob/master/main.go#L200-L203

I am wondering this behavior is reasonable. When timeout occurs between
NATS,
most probably all GoRouter processes would encounter the same problem,
which cause
all GoRouter processes down and severe high availability issues.

Regards,
Minoru

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.