Scalable, fault-tolerant application-layer sharding for Go applications
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 Update tchannel version and add a context option Nov 14, 2017
forward Update tchannel version and add a context option Nov 14, 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 Revert "Add logging for debugging addresses for single-node bootstrap… Jul 25, 2018
test Ignore vendor directory in coveralls tests Jul 27, 2017
util Feature: Self-Eviction (#177) Nov 1, 2016
.gitignore Update tchannel version and add a context option Nov 14, 2017
.travis.yml Change travis versions Jun 14, 2018
CHANGES.md v0.8.5 Changelog changes Jul 27, 2017
LICENSE Initial commit Oct 19, 2015
Makefile Drop the legacy --cache glide flag Jun 14, 2018
README.md Update README.md May 22, 2018
errors.go [Feature] Identity carry over part 6 / Configure `Identity` from cons… Dec 19, 2016
glide.lock Update tchannel version and add a context option Nov 14, 2017
glide.yaml Update tchannel version and add a context option Nov 14, 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 ringpop.go: fix for range lint exceptions Jun 14, 2018
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

(This project is no longer under active development.)

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