uber / tchannel

network multiplexing and framing protocol for RPC
MIT License
1.15k stars 129 forks source link

Hyperbahn: remote config #933

Open Raynos opened 8 years ago

Raynos commented 8 years ago

Hyperbahn has a lot of configurable parameters. It would be great if those could be configured remotely.

There are many potential sources that hyperbahn can get remote configuration from. Hyperbahn should not care where the remote configuration comes from, it should just be configured with two files.

Hyperbahn should fs.stat() two files every minute; if any change they should be merged together. The datacenter files overwrites the base file using a deep extend.

The remote config should have a few methods for interacting with it

The hyperbahn application should listen to the correct key paths and re-write the rate limiter / kill switch / k values.

jwolski commented 8 years ago

I've got a similar need that's on the Ringpop roadmap. I'd like to be able to change config on the fly (and do so over Ringpop's gossip channels), but also persist that config to disk in the event that the desired config change be resilient to restarts/deploys.