Scalable, fault-tolerant application-layer sharding for Go applications
Go Shell Other
Latest commit 08d3997 Jul 27, 2017 @malandrew malandrew committed on GitHub Merge pull request #213 from uber/aandrade.v0.8.5
v0.8.5 Changelog changes
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 Use lower case logrus import Jun 22, 2017
forward Fix mock logger circular dependency Jul 26, 2017
hashring Preserve old public API Jul 26, 2017
logging Fix mock logger circular dependency Jul 26, 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 Add HostPort to GetNClients results Jul 27, 2017
scripts Use lower case logrus import Jun 22, 2017
shared Ensure TChannel is listening on Bootstrap Aug 19, 2016
swim Fix mock logger circular dependency Jul 26, 2017
test Ignore vendor directory in coveralls tests Jul 27, 2017
util Feature: Self-Eviction (#177) Nov 1, 2016
.gitignore Prepare infrastructure for testing examples/ Jul 1, 2016
.travis.yml Test on recent Go versions Jun 20, 2017
CHANGES.md v0.8.5 Changelog changes Jul 27, 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 Removing gopkg.in/check.v1 Jul 27, 2017
glide.yaml Use lower case logrus import Jun 22, 2017
handlers.go Group log messages into modules. Feb 1, 2016
options.go Allow RequiresAppInPing to be configured Jun 22, 2017
options_test.go Fix mock logger circular dependency Jul 26, 2017
ringpop.go Allow RequiresAppInPing to be configured Jun 22, 2017
ringpop.thrift-gen Hotfix/forward header leaking (#199) Dec 23, 2016
ringpop_test.go Allow RequiresAppInPing to be configured Jun 22, 2017
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