- Make sure golang is installed
- You know the path to your
docker.sock
(defaults to /var/run/docker) docker-compose up
to bring up pre-labeled nginx containersmake build && make run (served on 8080)
GET - /stats
for telemetry
- Selection Algorithm: uses minHeap to keep track of weights and priority of the upstream connections.
- Inmem implementation, although the
repo
could be replaced with aredisCli
that matches the repo interface.
- I would like to have added more testing, but did not have the time.
- I would use prometheus or other proven telemetry clients, instead of a quick version of my own.
- I would like to have detected if the host network is bound to the docker-network or eth0
- I would like to have added HEAD health checks.