Skip to content

This project intents to simulate the behavior of two types of load balancers with providers that create an artificial load when invoked

License

Notifications You must be signed in to change notification settings

corcoja/load-balancer-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Load Balancer Simulator

Description

A load balancer is a component that, once invoked, distributes incoming requests to a list of registered providers and returns the value obtained from one of the registered providers to the original caller. This project intents to simulate the behavior of two types of load balancers with providers that create artificial load when invoked.

Types of load balancers

Dependencies

Compile Maven Dependencies

  1. Apache Log4j API 2.17.2 (log4j-api)
  2. Apache Log4j Core 2.17.2 (log4j-core)

Test Maven Dependencies

  1. JUnit Jupiter API 5.8.2 (junit-jupiter-api)
  2. JUnit Jupiter Engine 5.8.2 (junit-jupiter-engine)
  3. JUnit Jupiter Params 5.8.2 (junit-jupiter-params)
  4. Awaitility 4.2.0 (awaitility)

Usage

Build with Maven

# Install
mvn install

# ...or compile
mvn compile

# ...or package
mvn package

Test with Maven

Unit tests cover all the scenarios for request load balancing for both types of load balancers implemented in the project.

# Test
mvn test

NOTE: Since the unit tests simulate various scenarios for Load Balancing, running all the tests might take a long time (approximately 1 minute on an Apple M1 powered computer with 32 GB of RAM).

Generate Javadoc with Maven

In the base directory of the project, run the command below to generate the project's Javadoc to a directory in target/site.

# Generate Javadoc
mvn javadoc:javadoc

License

All of the work is licensed under the MIT License, unless specified otherwise due to constraints by dependencies.

About

This project intents to simulate the behavior of two types of load balancers with providers that create an artificial load when invoked

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages