devansh42 / timeMachine

A distributed fault tolerant scheduler that is horizontally scalable πŸ”₯

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Time Machine DB πŸ“

Slack Status

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

Cluster animation

🎯 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

About

A distributed fault tolerant scheduler that is horizontally scalable πŸ”₯

License:MIT License


Languages

Language:Go 95.9%Language:Shell 4.1%