Skip to content

Commit

Permalink
An even more concise description of ringpop
Browse files Browse the repository at this point in the history
  • Loading branch information
jwolski committed Jul 1, 2015
1 parent 8335c2e commit ebe24b8
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
# ringpop
Ringpop is a library that brings cooperation and coordination to an application.
Ringpop is a library that brings cooperation and coordination to applications that would otherwise run as a set of independent worker processes.

Often applications are deployed and run as a cluster of discrete worker processes. Ringpop implements a membership protocol that allows those workers to discover one another and use the communication channels established between them as a means of disseminating information, detecting failure and ultimately, converging on a consistent membership view.

Ringpop adds consistent hashing to its membership protocol implementation. This allows an application to define predictable behavior and data storage facilities on top of a custom keyspace. The keyspace is divided into partitions each of which is evenly assigned to application instances.

Clients of applications that embed Ringpop remain simple and need not know of the underlying cooperative workers nor chosen sharding scheme. A request can be sent to any instance and Ringpop intelligently forwards the request to the “correct” instance as defined by a hash ring lookup.
Ringpop implements a membership protocol that allows those workers to discover one another and use the communication channels established between them as a means of disseminating information, detecting failure and ultimately, converging on a consistent membership list. Consistent hashing is then applied on top of that list and gives an application the ability to define predictable behavior and data storage facilities within a custom keyspace. The keyspace is partitioned and evenly assigned to the individual instances of an application. Clients of the application remain simple and need not know of the underlying cooperation between workers nor chosen partitioning scheme. A request can be sent to any instance and Ringpop intelligently forwards the request to the "correct" instance as defined by a hash ring lookup.

With these 3 capabilities: membership protocol, consistent hashing and forwarding, Ringpop makes it possible to build extremely scalable and fault-tolerant distributed systems.

Expand Down

0 comments on commit ebe24b8

Please sign in to comment.