One octopus, two octopi.
This package depends on go's unofficial websocket implementation. To install the websockets package, execute the following:
$> go get code.google.com/p/go.net/websocket
- Clone the repository
$> git clone git@github.com:jimjh/octopi.git
- Ensure that your
$GOPATH
contains thego
directory in this repository.
# ~/.bash_profile
export GOPATH="/path/to/git/repo/go"
For unit tests, run
$> cd go; make test
For integration tests, run
$> tests/basictests.sh
$> tests/transitiontests.sh
All paths below are relative to the go
directory.
To start a broker,
$> go install octopi/run/broker
$> bin/broker -conf config/leader.json
To start a register,
$> go install octopi/run/register
$> bin/register -conf config/register.json
To start followers,
$> go install octopi/run/broker
$> bin/broker -conf config/follower1.json
Note that the leader/follower relationships are only for startup purposes. Once the system is running, all brokers should join as followers. If the leader dies, one of the followers will be elected to become the leader.