timeMachine
timeMachine copied to clipboard
A distributed fault tolerant scheduler that is horizontally scalable 🔥
Time Machine DB 🐓
A distributed, fault tolerant scheduler database that can potentially scale to millions of jobs.
The idea is to build it with a storage layer based on B+tree implementation, distributed hash table for load balancing, and raft for consensus.
🧬 Documentation
- Purpose
- Architecture • Components of a node • Also read
- Developer APIs • Job APIs • Route APIs
- TODO
🎯 Quick start
# Build
❯ go build
# Clean and create 5 data folders
❯ ./scripts/clean-create.sh 5
# Spawn 5 instances
❯ ./scripts/spawn.sh 5 true
# Create a cluster
❯ ./scripts/join.sh 5
# Specify the slots per node
❯ ./scripts/configure.sh 4
# Check status
❯ ./scripts/status.sh 5
Checkout the detailed guide
🎬 Roadmap
You can find the roadmap here
🛺 Tech Stack
Time machine is built on
For more details checkout our Tech stack
⚽ Contribute
- Choose a component to work on.
- Research the component thoroughly.
- Reach out to me, so that I can mark it as "Work in Progress" to prevent duplication of efforts.
- Build, code, and test the component.
- Submit a pull request (PR) when you are ready to have your changes reviewed.
Refer Contributing for more