Giter Site home page Giter Site logo

corcoja / load-balancer-demo Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 39 KB

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

License: MIT License

Java 100.00%
demo load-balancer

load-balancer-demo's Introduction

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.

load-balancer-demo's People

Contributors

corcoja avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.