A micro FaaS framework and tools to test performance of load balancing algorithms. Consists of 5 parts like described in below:
- Worker front: Codes for the worker node to run the user functions in the Docker container.
- Load balancer: Codes for distributing requests to multiple worker nodes
- Simulator: Codes to run a simulation with load balancer
- Sample functions: Pre-defined user functions to run a simulation
- Utils: Utilities like generating simulation scenario or analyzing the result.
- Golang >= 1.13 (Since we use
gomodfor dependency control, at least 1.11 is required)
- Docker (Functions are running in the Docker container)
$ cd worker_front $ go run *.go start
Our framework supports 30 different functions. You can see the detail of the supporting sample functions in sample functions page.
$ cd load_balancer $ go run *.go rr|ll|ch|pasch|ours
You can also see the details on load balancer page.
After configuration, visit http://localhost:8111/execute?name=W1 to test load balancer. Note that you should not close the worker node while running the load balancer.