莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          淘寶開源metaq的python客戶端

          Posted on 2012-03-21 19:08 dennis 閱讀(5568) 評論(1)  編輯  收藏 所屬分類: javamy open-sourceHadoop與分布式
              前面一篇博客介紹了我在github上的一個metaq分支,今天下午寫了個metaq的python客戶端,目前僅支持發送消息功能,不過麻雀雖小,五臟俱全,客戶端和zookeeper的交互和連接管理之類都還具備,不出意外,我們會首先用上。第一次正兒八經地寫python代碼,寫的不好的地方請盡管拍磚,多謝。
              項目叫meta-python,仍然放在github上:https://github.com/killme2008/meta-python

              使用需要先安裝zkpython這個庫,具體安裝這篇博客,使用很簡單,發送消息:
              from metamorphosis import Message,MessageProducer,SendResult
              p=MessageProducer("topic")
              message=Message("topic","message body")
              print p.send(message)
              p.close()

              
          MessageProducer就是消息發送者,它的構造函數接受至少一個topic,默認的zk_servers為localhost:2181,可以通過zk_servers參數指定你的zookeeper集群:

          p=MessageProducer("topic",zk_servers="192.168.1.100:2191,192.168.1.101:2181")

          更多參數請直接看源碼吧。一個本機的性能測試(meta和客戶端都跑在我的機器上,機器是Mac MC700,osx 10.7,磁盤沒有升級過):
          from metamorphosis import Message,MessageProducer
          from time import time
          p=MessageProducer("avos-fetch-tasks")
          message=Message("avos-fetch-tasks","http://www.taobao.com")
          start=time()
          for i in range(0,10000):
              sent=p.send(message)
              if not sent.success:
                  print "send failed"
          finish=time()
          secs=finish-start
          print "duration:%s seconds" % (secs)
          print "tps:%s msgs/second" % (10000/secs)
          p.close()

           結果:


          duration:1.85962295532 seconds
          tps:5377.43415749 msgs/second

          評論

          # re: 淘寶開源metaq的python客戶端[未登錄]  回復  更多評論   

          2012-11-28 17:11 by colin
          大俠,你們metaq的java客戶端性能測試如何,
          我試用了下,
          單線程的話,
          發送 tps: 50 msgs/second
          接收 tps: 28000 msgs/second

          發送接收差異這么大,感覺很奇怪,是不是還有一些特殊的設置?
          主站蜘蛛池模板: 安义县| 谷城县| 石泉县| 襄城县| 铜陵市| 临安市| 雅安市| 崇文区| 普洱| 泸定县| 高雄县| 沈阳市| 辽宁省| 开江县| 平利县| 河东区| 油尖旺区| 六安市| 崇礼县| 莱阳市| 江津市| 永州市| 磐石市| 武邑县| 瑞安市| 崇文区| 黄石市| 兴隆县| 北辰区| 宁津县| 融水| 潼关县| 长海县| 六枝特区| 永泰县| 普格县| 尼勒克县| 南通市| 泰州市| 民县| 宁乡县|