airbnb / nerve

A service registration daemon that performs health checks; companion to airbnb/synapse
MIT License
942 stars 151 forks source link

Dynamic Configuration #62

Closed ubiquitousthey closed 9 years ago

ubiquitousthey commented 9 years ago

Are there any plans for a more dynamic configuration. I have looked at the PR #16 and its discussion. It doesn't seem like there is movement in this direction. I've been contemplating storing the service configuration in the ZK node. Nerve (and synapse) could watch the list of services and add new ones as they appear.

Does this sound reasonable? Is there another direction you guys are going? Currently I have a hacked-up version of your chef recipe modifying the config based on info in ZK.

jolynch commented 9 years ago

I'll let @igor47 comment on if we want to pursue dynamic reloading, but I think with the backend deduplication in synapse we just merged this becomes less of a pressing concern because you can do hitless nerve restarts by starting a second copy of nerve and then stopping the old one.

We pair this at Yelp with cron job that configures/restarts nerve every 5s and it works fantastically.

@ubiquitousthey, is the issue just hitless reloads or do you want dynamic configuration for a different reason?

jolynch commented 9 years ago

I'm going to close this because I don't think that dynamic nerve/synapse configuration should be the goal going forward. I might reconsider if our current hitless system turns out not to scale (very possible given the design), in which case we'll work on it then.