Scalable, fault-tolerant application-layer sharding for Go applications
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
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
test
util Feature: Self-Eviction (#177) Nov 1, 2016
.gitignore
.travis.yml Change travis versions Jun 14, 2018
CHANGES.md
LICENSE
Makefile
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
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
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