Awesome
LoadMaster
Description
Load Master is the load distributing component of the Load Effect application. This server receives requests from the Load Effect web server and spins up docker instances based on the request specifications. The Load Master features a custom-built job queue which will distribute work through the /api/requestJob end point, job de-packaging capabilities, etc. Worker servers interact with the Master server by asking for additional additional packets of work. If no more work is available, masters will shut down workers.
Features
- Job Queue
- Work splitting algorithm
- Create and remove Docker containers
Master Server Architecture
Table of Contents
Getting Started
Prerequisites
Installing Dependencies
From within the root directory:
npm install
Running The App
npm start
Testing
npm test
Run:
npm test
Core Team
- Scrum Master: Felix Feng
- Product Owner: Tai Huynh
- Development Team Members: Bill Ramsey, Christian Haug, Felix Feng, Tai Huynh
Contributing
- Fork the repo.
- Clone it to your local computer
- Cut a namespaced feature branch from master and name it appropriately
- Make commits and prefix each commit with the type of work you were doing
- BEFORE PUSHING UP YOUR CHANGES, rebase upstream changes into your branch, fix any potential conflicts, and then push to your fork.
- Submit a pull request directly to the master
- Someone else will perform code review to keep codebase clean
- Fix any errors or issues raised by the reviewer and push the fixes as a single new commit
- Repeat until the pull request is merged.
See CONTRIBUTING.md for contribution guidelines in detail.
License
M.I.T