https://github.com/uber/ringpop-go
Scalable, fault-tolerant application-layer sharding for Go applications
https://github.com/uber/ringpop-go
Last synced: 6 months ago
JSON representation
Scalable, fault-tolerant application-layer sharding for Go applications
- Host: GitHub
- URL: https://github.com/uber/ringpop-go
- Owner: uber
- License: mit
- Created: 2015-06-05T22:48:53.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-08-23T09:45:00.000Z (over 2 years ago)
- Last Synced: 2024-12-13T09:29:08.783Z (12 months ago)
- Language: Go
- Homepage: http://www.uber.com
- Size: 4.72 MB
- Stars: 836
- Watchers: 2,597
- Forks: 83
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications - ★ 505 (Distributed Systems)
- awesome-go-plus - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications.  (Distributed Systems / Search and Analytic Databases)
- awesome-go - ringpop-go - tolerant application-layer sharding for Go applications. | - | - | - | (Distributed Systems / Advanced Console UIs)
- awesome-go-cn - ringpop-go - go) (分布式系统 / 检索及分析资料库)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. - :arrow_down:28 - :star:179 (Distributed Systems / Advanced Console UIs)
- awesome-go-with-stars - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Advanced Console UIs)
- fucking-awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-go-cn - ringpop-go - go) (分布式系统 / 检索及分析资料库)
- awesome-go-cn - ringpop-go
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-go-extra - ringpop-go - tolerant application-layer sharding for Go applications|743|71|26|2015-06-05T22:48:53Z|2022-07-22T19:23:56Z| (Distributed Systems / Advanced Console UIs)
- awesome-go - ringpop-go - Go应用程序的可扩展,容错应用程序层分片。 (<span id="分布式系统-distributed-systems">分布式系统 Distributed Systems</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-cn - ringpop-go - tolerant application-layer sharding for Go applications.) (分布式系统 / Advanced Console UIs)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Advanced Console UIs)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-go - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Search and Analytic Databases)
- awesome-Char - ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications. (Distributed Systems / Advanced Console UIs)
README
ringpop-go [](https://github.com/uber/ringpop-go/actions?query=workflow%3ATest) [](https://coveralls.io/github/uber/ringpop-go?branch=master)
==========
**(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](https://ringpop.readthedocs.org)