GOOGLE時看到一個東西 ROMA 這個是日本樂天研究所針對分散式儲存所做的一個應用方案。由RUBY開發,相容Memcached。原文參考
安裝流程:
一、環境:
1.debian
二、安裝ruby,gem
apt-get install ruby rubygems
三、安裝 eventmachine
gem install eventmachine
四、下載roma http://github.com/roma/roma/downloads
1.解開tar檔
2.cd roma-roma-4f69a05/ruby/server/bin/
3.建立nodes設定檔
(1)ruby mkroute localhost_11211 localhost_11212 --enabled_repeathost
如果成功會看到下列訊息:
nodes => localhost_11211localhost_11212
Routing table has created.
查一下目前目錄下,是否有這兩個檔localhost_11211.route,localhost_11212.route
4.啟動ROMA
ruby romad localhost -p 11211 -d --enabled_repeathost 失敗了
錯誤訊息:roma-roma-4f69a05/ruby/server/bin/../lib/roma/routing/rttable.rb:6:in `require': no such file to load -- json (LoadError)
查一下gem套件
gem list
json (1.2.0)
json_pure (1.2.0)
真怪,有裝json套件,查了一下google
修改一下rttable.rb,加入紅字那行
require 'yaml'
require 'rubygems'
require 'json'
再來一次,成功了
10:24AM 0:02.20 ruby romad localhost -p 11211 -d --enabled_repeathost
看一下logfile有錯誤訊息
E, [2010-01-13T11:50:45.803857 #42013] ERROR -- : /usr/home/abc/roma-roma-4f69a05/ruby/server/bin/../lib/roma/romad.rb:525:Send command failed that node-id is localhost_11211,command is whoami
找不到原因,用php 測式,也無法做資料寫入讀出,奇怪,改天再研究
後來問了一下作者,才知道,原來只支援ruby 1.9以上,目前debain or freebsd
內建的package只有1.8.7,所以手動下載1.9版安裝,終於可以用了。
memcached and roma測式 100條程序,每條執行100 次結果如下:
ROMA:
391/sec(寫入每秒處理量)
395/sec(讀取每秒處理量)
Memcached :
389/sec(寫入每秒處理量)
396/sec(讀取每秒處理量)
參考資料
http://code.google.com/p/roma-prj/wiki/QuickStart
0 意見:
張貼留言