curator-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Kesler <>
Subject RE: Temporarily remove a host from service discovery
Date Wed, 21 Oct 2015 15:12:03 GMT
We did this by having each service listen on a node and register/unregister based on the contents
of that node.  (It did a little more than that as well like stop background threads, which
is why a filter based approach wouldn’t work for us).  It worked ok for us but always felt
a bit janky.

Regarding deleting the node, I think that also won’t work because the service in question
might recreate the node.  (Even if it doesn’t recreate it right away, it probably will in
the event of a transient zk disconnection).

From: Joe Littlejohn []
Sent: Wednesday, October 21, 2015 10:46 AM
Subject: Temporarily remove a host from service discovery


Is there a way, when using the service discovery recipe, to temporarily remove a host so that
is not returned when a client asks for an instance? Ideally I'd then like to later be able
to reinstate the disabled host. A bit like taking an instance out of a load balancer when
there is a problem (or you need to do something that might affect the instance), and adding
it back into the load balancer later.

Once option is simply to delete the node in Zookeeper to stop traffic hitting that instance,
but there's then no way to reinstate it.

This could probably be implemented as a provider strategy, with a flag within the node data
that says whether the host is enabled. I'm wondering if there is a better way. It would be
great to have some kind of dashboard to help manage the service discovery nodes in Zookeeper.

Would love to hear from anyone that is using the service discovery recipe and whether you
have come up with any good 'management/admin' strategies.

View raw message