Ruby持久化队列服务器Starling支持MemCahce协议

介绍:
Starling是一个支持MemCache协议的轻量级持久化服务器Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自己的应用做了改进 ,他们认为网站速度快了很多。(网络截取)


Ø
安装fiveruns-memcache-client
#gem install fiveruns-memcache-client --source http://gems.github.com/
 

 

 

 

 

Ø
安装Starling

 

 

#gem install starling-starling --source http://gems.github.com/

 

 

 

 

Ø
查看Starling帮助和使用信息
#starling --help

Ø
启动Starling
#starling -h 0.0.0.0 -d -p 22122
#netstat –lnp



Ø
编写程序测试
1、发送消息到队列中:
           import memcache
          mc = memcache.Client(['172.0.0.1:22122'], debug=0)
          mc.set("my_queue", 123)
          mc.set("my_queue", 1234)
          mc.set("my_queue", 12345)
           mc.set("my_queue", 123456)
          mc.set("my_queue", "ABC")

2、从队列中获取消息
         import memcache
         mc = memcache.Client(['172.0.0.1:22122'], debug=0)
         while True:

value = mc.get("my_queue")


if value is None: break



print value




²
分布式测试:
# starling -h 0.0.0.0 -d -p 22122 -P /var/run/starling_22122.pid
# starling -h 0.0.0.0 -d -p 22222 -P /var/run/starling_22222.pid

1、发送消息到队列中:
          import memcache
          mc = memcache.Client(['172.0.0.1:22122','172.0.0.1:22222'], debug=0)
          mc.set("my_queue", 123)
          mc.set("my_queue", 1234)
          mc.set("my_queue", 12345)
          mc.set("my_queue", 123456)
          mc.set("my_queue", "ABC")

2、从队列中获取消息
          import memcache
          mc = memcache.Client(['172.0.0.1:22122'], debug=0)
          while True:

value = mc.get("my_queue")


if value is None: break



print value



http://hi.baidu.com/lhwork/blog/item/52bf843597f17f1691ef3975.html

http://rubypond.com/articles/2008/07/17/the-complete-guide-to-setting-up-starling/

上一篇: 如何在php中执行Mysql 锁定?   下一篇: sphinx 中文PDF文档

提交疑问

回顶部