A simple load balancer written in Golang.
Uses Round Robin for load distribution.
./hermes \
--port 9000 \
--services https://localhost:9001,https://localhost:9002,https://localhost:9003
- Implement weighted round-robin/least connections
Round Robin - Distribute load equally, assumes all backends have the same processing power
Weighted Round Robin - Additional weights can be given considering the backend's processing power
Least Connections - Load is distributed to the servers with least active connections
- Add configuration file support
- Use a heap for sort out alive backends to reduce search surface
- Collect statistics