Welcome to Synthra Project! This project aims to provide a customizable and efficient load balancing solution for distributing incoming traffic across multiple servers. It's designed to be modular and feature-rich, allowing users to easily integrate it into their infrastructure.
Supports primary load balancing algorithms to suit different scenarios:
- Round Robin
- Weighted Round Robin
- Least Connections
- Source IP Hash
Your Load Balancer includes robust health checking capabilities to ensure optimal server performance and availability:
- HTTP/HTTPS Health Checks
- Decides how often health checks should be performed and set timeout values for the health check requests. For example, it can perform health checks every few seconds or minutes. If a server fails a health check, you may configure to retry the check a few more times before declaring it as unhealthy.
- Dynamic Server Pooling: Update the load balancer's server pool dynamically based on the health status. Remove unhealthy servers from the rotation and add them back when they are healthy again.
- Clone this repository. (will publish on npm once its ready)
- Navigate to the project directory.
- Install dependencies with
npm install
.
- Run your load balancer with
npm start
- Monitor server health and traffic distribution via the provided API functions.
- Open
test
directory and use API functions inconfig.js
and customize the configuration settings as needed. - Configure load balancing algorithms, health check settings, and other features.
Feel free to reach out to or open issues if you have any questions or need assistance.