このページでは開発のためにromaをどうやってセットアップするかを説明します。
ROMAはRubyで書かれているため、Rubyが必要です。
前もってRuby 2.1以降 (1.xではない)をインストールする必要があります。以下のwebページを見て、Ruby 2.1 の最新バージョンをダウンロードしてください。
https://www.ruby-lang.org/en/downloads/
"v" オプションを使うことで、以下のようにプラットフォームにインストールされているRubyのバージョン番号をチェックすることができます。
$ ruby -v
2.1.6-pXXX
event-driven I/O を提供するRubyのライブラリのRuby/EventMachineをインストールする。ROMAを実行するには、それが必要です。
以下のようにRubyの"gems"コマンドを使って、Ruby/EventMachine を簡単にインストールすることができます。
$ sudo gem install eventmachine
ROMAのインストールには、二つの選択可能な方法があります。
$ sudo gem install roma
ROMA はデフォルトでmemcacheのようにOSのメモリをストレージとして使用します。
しかし、ストレージとして tokyocabinetおよびgroongaを選択することができます。
ストレージを変更したい場合は、以下のリンクを参照してください。
ROMAは開始する前にルーティングファイルを作る必要があります。
ルーティングファイルはそれぞれのプロセスのルーティング情報を保存しています。
$ bin/mkroute localhost_10001 localhost_10002 --replication_in_host
成功した場合、localhost_10001.route と localhost_10002.route という名前の新しい二つのファイルが現在のディレクトリに作成されます。
起動コマンドの詳細な情報については、コマンド を参照してください。
以下のように、romad.rbプログラムを使って二つのプロセスを実行します:
$ bin/romad localhost -p 10001 -d --replication_in_host
$ bin/romad localhost -p 10002 -d --replication_in_host
起動コマンドの詳細な情報については、コマンド を参照してください。
ROMAの全てのプロセスをシャットダウンする必要がある場合は、以下のように balse コマンドを実行します。
これは、ROMAによって提供されているシャットダウンコマンドです。
$ telnet localhost 10001
balse <return>
Are you sure?(yes/no)
yes <return>
{"localhost_10001"=>"BYE", "localhost_10002"=>"BYE"}
起動コマンドの詳細な情報については、コマンド を参照してください。
ROMA は設定ファイルとして ./lib/roma/config.rb ファイルを利用します。
ROMAの設定が変更される時は、設定ファイルを編集します。
起動コマンドの詳細な情報については、設定 を参照してください。
memcachedのように、telnetを使ってROMAに接続することができます。上で実行したROMAプロセスに接続します。
$ telnet localhost 10001
memcachedコマンドと同じ方法でROMAとやり取りすることができます。
set foo 0 0 3 <return>
bar <return>
STORED
get foo <return>
VALUE foo 0 3
bar
END