Skip to content

Xorlev/gregor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gregor

Gregor is minimalistic Kafka clone written in Go. For educational purposes only, and does not yet strive to maintain total compatibility with the Kafka protocol. Several sections may appear to be close transliterations of Kafka, except in Go. This is ok, don't panic. Breathe, and move on to another section.

Storage layer can be used to manipulate Kafka log segments as it can write and read log segments binary compatible with Kafka 0.8.x.

There may also be value in a slimmed down implementation of Kafka which acts as a indexable log service on a single machine for testing/low-resource environments. Without multi-broker replication this would be a fairly unreliable system, but in DIY environments it wouldn't need to be.

###Running

$ go build
$ ./gregor

Right now, Gregor merely spits out a log segment file in /tmp/

###Roadmap

  • CLI tools for manipulating Kafka log segments
    • View
    • Replay to cluster from disk or S3
  • Anything resembling safe file IO
  • Log indexing
  • Metadata storage
  • Topic and partition implementation
  • Network RPC layer
  • ZK registration of brokers

About

Minimalistic Kafka clone in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages