前一阵研究用spread来承载数据分发,做的报价系统很失败。今天翻翻书,发现了DRb这个分布式ruby的实现。 一样地,直接上代码: #! /usr/bin/ruby require “drb” class My def get(arg1) oo=Hash.new oo[‘data’]=’I am your baby’ oo[‘time’]=Time.new.to_i oo[‘arg’]=arg1 0.upto(1000) {|i| oo[‘dbf’+i.to_s]=rand } return oo end end m=My.new DRb.start_service(‘druby://localhost:9999’,m) DRb.thread.join 这是服务器端的,我们用ruby server.ruby & 运行它。 接着写客户端的: #! /usr/bin/ruby require ‘drb’ require “profile” DRb.start_service() obj=DRbObject.new(nil,’druby://localhost:9999’) hash=obj.get(‘hi,iam polly’) puts hash.keys puts hash.keys.length 然后运行ruby client.rb,我们就得到了另一个机器(例子中是同一台机器)某个进程中的一个运行结果。 酷吧。但是实际上,DRb运行的并不快。