Skip to content

Iterative development of a distributed log store from scratch in Go.

Notifications You must be signed in to change notification settings

rjacksonxyz/go-distributed-log-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github Actions codecov

Distributed Log Store (in Go)

Iterative development of a distributed log store from scratch in Go.

To test* entire codebase, run

make init gencert test

*test takes approx. 30-40 seconds

Principal struct is the Agent struct. High-level:

  • Agents can be read from/ written to, and replicate/propgate logs to other Agents leveraging HashiCorp's Serf package (implements gossip protocol).
  • Agents communicate via gRPC.
  • Agent code + tests found here: logstore/internal/agent

Current State:

  • Simple replication via gossip protocol has been implemented.
  • Tested using multiple local instances in testing.

To Do:

  • Implement Raft (Hashicorp implemtation)
  • DNS

About

Iterative development of a distributed log store from scratch in Go.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published