hyproxy icon indicating copy to clipboard operation
hyproxy copied to clipboard

Dynamic Upstream/Backends

Open rrichardson opened this issue 8 years ago • 0 comments

One thing that none of the prevailing reverse proxy solutions except for Traefik handle the need for an elastic (or previously unknown) set of upstream servers. A compelling feature for hyproxy would be the ability to be able to resolve DNS on the fly (and cache the collection of servers for a short time) for upstreams. Varnish-Goto can do that, but even it isn't quite as flexible as I'd like for our kubernetes cluster, where the proxy may not know that an endpoint exists before I synthesize the upstream dns name.

Example : inbound request: host: foosvc.loadbalancer.mycluster.org Gets translated to Kubernetes local service as the upstream address: foosvc.svc.default.cluster.local

(we don't know that foosvc exists until we receive a request for it)

I understand that it is absolutely not trivial, and would likely require a concurrent thread that is curating the resulting pools of URL -> IP address mappings. But it it had such a feature, it would become immediately useable in any kubernetes, docker-swarm, or mesosphere cluster with almost 0 configuration. And no need to communicate with the cluster oracles.

rrichardson avatar Apr 12 '17 21:04 rrichardson