Ruby 非 Broker 模式跨进程消息队列

linjunhalida · 2015年02月09日 · 最后由 est 回复于 2015年02月09日 · 2021 次阅读

任务:实现多个进程间的消息传递。可以用消息队列,共享内存,Signal,Pipe 等方式实现。

我们可以用 Redis 等第三方工具来做,但是有没有一种不需要单独跑一个 Broker 的方式来做?比如:

q = InterProcessQueue.new

3.times.each do
  Process.new do
    while
      sleep 1
      cmd = q.get
      work(cmd)
    end
  end
end

有。zeromq。点对点的。无中间 broker。

如果有 redis 用 redis 的 PUB/SUB 就好。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号