https://github.com/temporalio/ringpop-go
https://github.com/temporalio/ringpop-go
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/temporalio/ringpop-go
- Owner: temporalio
- License: mit
- Created: 2020-01-24T21:58:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-16T21:11:48.000Z (about 1 year ago)
- Last Synced: 2025-06-08T20:06:35.380Z (about 1 year ago)
- Language: Go
- Size: 1.43 MB
- Stars: 21
- Watchers: 17
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
ringpop-go [](https://travis-ci.org/uber/ringpop-go) [](https://coveralls.io/github/uber/ringpop-go?branch=master)
==========
**(This project is no longer under active development. Temporal will eventually deprecate usage of Ringpop.)**
Ringpop is a library that brings cooperation and coordination to distributed
applications ([see Uber announcement blogpost](https://eng.uber.com/ringpop-open-source-nodejs-library/)). 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/temporalio/ringpop-go
```
Developing
----------
First make certain that `thrift` v0.9.3
(OSX: `brew install https://gist.githubusercontent.com/chrislusf/8b4e7c19551ba220232f037b43c0eaf3/raw/01465b867b8ef9af7c7c3fa830c83666c825122d/thrift.rb`) 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 (note ensure you have enough file descriptors using `ulimit -n` - atleast 8192 reccomended.):
```
make test
```
Documentation
--------------
Interested in where to go from here? Read the docs at
[ringpop.readthedocs.org](https://ringpop.readthedocs.org)