Skip to content
This repository has been archived by the owner on Dec 7, 2018. It is now read-only.

Prerequisites

//de edited this page Jul 7, 2015 · 21 revisions

DCell requires 0MQ, and uses the ffi-rzmq gem to bind to it.

On OS X, the 0MQ native libraries are available through Homebrew by running:

brew install zeromq

DCell keeps the state of all global configuration data in a service it calls the "registry". DCell supports any of the following for use as registries:

  • Redis (default): a persistent data structures server. It's simple and easy to use for development and prototyping, but lacks a good distribution story.

  • Zookeeper: high-performance coordination service for distributed applications. It exposes common services such as naming, configuration management, synchronization, and group management. DCell uses it as a global node directory server and for storing global configuration data including actor addresses.

  • Cassandra: a distributed database with no single points of failure and can store huge amounts of data. Setup requires creating a keyspace and defining a single column family before staring DCell. The Cassandra backend defaults to a keyspace/CF both named "dcell". There are two rows, "nodes" and "globals" each with one column per entry.

You may pick any of these services to use as DCell's registry. The default is a local redis instance.

To install a local copy of Redis on OS X with Homebrew, run:

brew install redis

To install a local copy of Redis on Linux, with either Mint or Ubuntu, run:

sudo apt-get install redis-server
Clone this wiki locally