-
Notifications
You must be signed in to change notification settings - Fork 65
Prerequisites
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