A Performance Analysis of Modern Routing Algorithms Used in Content Delivery.
RapidBalance is a software-defined load balancing system with two configurable algorithms, round-robin and least-connection.
PLEASE NOTE: This software was created as part of a research project and as a result isnt ready for live production.
By default, the configuration is setup to use the RoundRobin algorithm, run on port 80 and route to the local flask servers.
- GO 1.17
- Python 3.10.4
The easiest way to get up and running is by using VS Code, you will be able to run the "HTTP-server" file and the software will run as intended.
Should you wish to run the software in a command terminal, you will need to build the program with go build
and run it with
go run file_name.go
.
If you are using the flask servers, you will need to run pip3 install flask
to install the dependencies.
The round-robin algorithm works as intended, but the least-connection algorithm doesnt acuratly remove idle connections.
{
"PORT": "80",
"ALGORITHM": "RoundRobin",
"SERVERS": [
"http://127.0.0.1:5050",
"http://127.0.0.1:5051",
"http://127.0.0.1:5052"
]
}
By default, the configuration file is set to use these three following local flask servers.
Node 1: "http://127.0.0.1:5050"
Node 2: "http://127.0.0.1:5051"
Node 3: "http://127.0.0.1:5052"