Skip to content

Distributed log w/ gRPC, replication, load balancing

Notifications You must be signed in to change notification settings

wbrowne/chronicle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Actions Status

Building a distributed log based on Travis Jeffery's Distributed Services with Go

Build

  • Install go (tested with 1.13)
  • Install protoc binary (tested with 3.11.4)
  • Install protoc-gen-go (plugin for protobuf compiler to generate go code)
    • go get github.com/gogo/protobuf/protoc-gen-gogo
  • Install Cloudflare cert CLI tools
    • go get github.com/cloudflare/cfssl/cmd/cfssl@v1.4.1
    • go get github.com/cloudflare/cfssl/cmd/cfssljson@v1.4.1
  • Execute
    • make init
    • make compile
    • make gencert
    • make test

Overview

  • Record — the data stored in our log
  • Store — the file we store records in
  • Index — the file we store index entries in
  • Segment — the abstraction that ties a store and an index together
  • Log — the abstraction that ties all the segments together

Check out the drawio which has more details via hover tooltips

About

Distributed log w/ gRPC, replication, load balancing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published