Skip to content

Dynamic Upstream/Backends #9

@rrichardson

Description

@rrichardson

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions