https://github.com/basilysf1709/load-balancer
implementing and visualizing load balancer algorithms
https://github.com/basilysf1709/load-balancer
Last synced: 7 days ago
JSON representation
implementing and visualizing load balancer algorithms
- Host: GitHub
- URL: https://github.com/basilysf1709/load-balancer
- Owner: basilysf1709
- Created: 2024-07-22T05:00:55.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-22T07:26:35.000Z (about 1 year ago)
- Last Synced: 2024-11-17T21:16:21.258Z (11 months ago)
- Language: TypeScript
- Size: 188 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Load Balancer Visualization
This project provides a visual representation of a load balancer distributing requests across multiple IP addresses. It demonstrates different load balancing algorithms and allows for real-time interaction and observation of the load distribution.
## Visuals

## Features
- Interactive visualization of load balancing across multiple IP addresses
- Support for multiple load balancing algorithms:
- Round Robin
- Random
- Least Connections
- Real-time updates of request distribution
- Ability to add new IP addresses dynamically
- Visual feedback on which IP handled the most recent request## Tech Stack
- Frontend: React with React Flow for visualization
- Backend: Flask (Python)
- API Communication: Axios## Getting Started
### Prerequisites
- Node.js and npm
- Python 3.x
- pip (Python package manager)### Installation
1. Clone the repository:
`git clone [your-repo-link]`
`cd [your-repo-name]`2. Set up the backend:
`pip install -r requirements.txt`3. Set up the frontend:
`cd frontend`
`npm install`### Running the Application
1. Start the backend server:
`python app.py`
2. In a new terminal, start the frontend development server:
`cd frontend`
`npm start`
3. Open your browser and navigate to `http://localhost:3000` to view the application.## Usage
- Click on the algorithm buttons to change the load balancing method.
- Use the "Send Request" button to simulate sending a request to the load balancer.
- The "Add IP" button allows you to add a new IP address to the pool.
- Observe the visual feedback as requests are distributed among the IP addresses.## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.