mozilla-services/pushgo — pull request #102 by kitcambridge (2014-10-30 00:22:01+00:00)
Title: Redirect clients to different nodes if the current node is full

This pull request adds an `EtcdBalancer` that redirects clients to different hosts, and refactors some of the shared etcd logic used by the balancer and locator. If the balancer is unavailable or the cluster is full, `Worker.Hello()` responds with a 429.

See https://bugzilla.mozilla.org/show_bug.cgi?id=1091192 for more info. `MozLoopPushHandler` doesn't support redirects yet, so this is only the server-side plumbing.

@bbangert r?