Skip to content

weiqingy/ElasticJBalancer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ElasticJBalancer

ElasticJBalancer is an elastic load balancer implemented in Java.

ElasticJBalancer can not only automatically scale up and scale down workers based on the number of incoming requests, but also predict the number of incoming requests using machine learning algorithm REPTree, which is the best model based on our experiments. ElasticJBalancer allocates the incoming requests to workers based on the monitoring information of resource usage and the peak prediction. We use parallelism to implement ElasticJBalancer in one node. The goal of ElasticJBalancer is to balance load generated by huge clients across worker nodes.

To build the project, run

gradle build

To Use, first edit master_addresses and worker_addresses to add the ip and port you will be using:

Run Worker

java -jar 15618.jar worker worker_port (eg. java -jar 15618.jar worker 5000)

Run Master

java -jar 15618.jar master master_port (eg. java -jar 15618.jar master 3000)

Run Client

java -jar 15618.jar client your_trace_file/request_rate (eg. java -jar 15618.jar client 100)

The Repository is only used for study. All rights reserved.

About

An elastic load balancer implemented in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages