{"repo":"pranav718/hotaru","free":true,"listed":false,"github":"https://github.com/pranav718/hotaru","clone":"git clone https://github.com/pranav718/hotaru.git","description":"raft consensus engine & replicated key-value store built in go, with a real-time web visualizer.","language":"Go","stars":11,"topics":["distributed-systems","go","key-value-store","nextjs","raft-consensus-algorithm","fault-tolerance","leader-election"],"license":null,"category":"databases-storage","readme_excerpt":"hotaru a lightweight distributed consensus engine and replicated key-value database built in raw go from first principles. no etcd/raft, no hashicorp/raft, no heavy third party consensus libraries. just the raft paper and go's standard library. --- contents - features - architecture - real-time web dashboard - dashboard preview - how to run the web dashboard - using the web dashboard - quickstart and API reference - project structure - how raft works in hotaru - blog - acknowledgments --- features core raft consensus - leader election with randomized timeouts (150ms to 300ms) to prevent split vote scenarios - log replication with strict term matching and safety checks - automatic state recovery and persistence across node restarts real-time web dashboard - live visualizer built with next.js, tailwind css, framer motion, and lenis smooth scroll - server-sent events (SSE) streaming real-time leader elections, log propagation, and state transitions directly from the go binary - interactive console to issue proposals (SET, GET, DEL) and scale cluster membership (JOIN, LEAVE) log compaction and snapshotting - state machine snapshotting to trim historical log entries and bound memory usage - InstallSnapshot RPC to fast forward slow or rejoining followers dynamic cluster membership - live cluster scaling with /join and /leave HTTP endpoints, implementing diego ongaro's single server change algorithm without cluster downtime - non voting staging phase for new nodes to catch up on log","default_branch":null,"files":null,"tree":[],"storefront":"/r/pranav718","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pranav718/hotaru/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}