Scalable, fault-tolerant application-layer sharding for Go applications
Go Shell Other
Permalink
Failed to load latest commit information.
discovery Correct ineffassign warnings Dec 9, 2016
events [Feature] Identity carry over part 5 / Multi ring checksum (#192) Dec 19, 2016
examples [Hotfix] Fix forward header leaking (#197) Dec 23, 2016
forward [Hotfix] Fix forward header leaking (#197) Dec 23, 2016
hashring fix: make lookups consistent on hash collisions (#196) Dec 20, 2016
logging Add WithError() to NoLogger (#203) May 2, 2017
membership [Feature] Identity carry over part 4 / Identity carry over (#191) Dec 19, 2016
replica [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
router Hotfix/forward header leaking (#199) Dec 23, 2016
scripts [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
shared Ensure TChannel is listening on Bootstrap Aug 19, 2016
swim change state transition log message from warning to debug Dec 22, 2016
test [Hotfix] Fix forward header leaking (#197) Dec 23, 2016
util Feature: Self-Eviction (#177) Nov 1, 2016
.gitignore Prepare infrastructure for testing examples/ Jul 1, 2016
.travis.yml Add WithError() to NoLogger (#203) May 2, 2017
CHANGES.md Add WithError() to NoLogger (#203) May 2, 2017
LICENSE Initial commit Oct 19, 2015
Makefile [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
README.md Move ringpop-go to glide (#151) Jun 25, 2016
errors.go [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
glide.lock Fix: Race conditions (#178) Sep 14, 2016
glide.yaml Move ringpop-go to glide (#151) Jun 25, 2016
handlers.go Group log messages into modules. Feb 1, 2016
options.go [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
options_test.go [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
ringpop.go don't emit member stat on change during bootstrapping. (#201) Mar 10, 2017
ringpop.thrift-gen Hotfix/forward header leaking (#199) Dec 23, 2016
ringpop_test.go [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
stats_handler.go [Feature] Identity carry over part 5 / Multi ring checksum (#192) Dec 19, 2016
util.go Cleanup and increased test coverage of swim package Jan 11, 2016
utils_test.go [Feature] Identity carry over part 4 / Identity carry over (#191) Dec 19, 2016

README.md

ringpop-go Build Status Coverage Status

Ringpop is a library that brings cooperation and coordination to distributed applications. It maintains a consistent hash ring on top of a membership protocol and provides request forwarding as a routing convenience. It can be used to shard your application in a way that's scalable and fault tolerant.

Getting started

To install ringpop-go:

go get github.com/uber/ringpop-go

Developing

First make certain that thrift (OSX: brew install thrift) and glide are in your path (above). Then,

make setup

to install remaining golang dependencies and install the pre-commit hook.

Finally, run the tests by doing:

make test

Documentation

Interested in where to go from here? Read the docs at ringpop.readthedocs.org