Equanimity is server application built using Nest.js, It leverages Socket.IO to manage WebSocket communication. For improved performance and to handle a growing number of concurrent connections, the application is designed to run in multiple instances. These instances can communicate with each other using Redis Pub/Sub To distribute incoming WebSocket requests evenly between the multiple instances, an Nginx load balancer is employed .
- WebSocket server using Nest.js with Socket.IO integration.
- Scalable architecture with multiple instances of the WebSocket server for handling increased traffic.
- Communication between instances using Redis Pub/Sub for seamless
synchronization. - Nginx load balancer with round-robin load balancing to distribute
incoming WebSocket connections. - Docker Compose for easy setup and simulation of the entire application stack.
ensure you have the following prerequisites installed on your system:
- Docker
- Docker Compose
then create .env file "check the example" then run the following commend :
docker compose -f "docker-compose.yml" up -d --build
use postman to test endpoints : Postman workspace.
I welcome and i need your contributions to my project! If you find any issue or have suggestions for improvement, please feel free to submit a pull request or open an issue in the GitHub repository.