Ringo is a self-healing, distributed storage engine built in Go, using a neighbor-coordinated ring network topology. It is a simple key/value storage engine that more sophisticated database interfaces can layer on top of.
You might be familiar with the typical ring network topology. This is a network structure where each node in a cluster has a connection to a left node and a right node. These connections form a ring.
The problem with a typical ring topology is that, if a link in the ring is broken, messages may not reach the destination. To get around this, some have created a reversible ring where any failure to send from one node to another will reverse the direction of the message and eventually it should reach the destination by looping back around the other side. This can result in terrible latency, but more importantly, it does not self-heal. If another link were to be broken, the cluster will be severed in two.