淘宝开源metaq的python客户端

    前面一篇博客介绍了我在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

文章转自庄周梦蝶  ,原文发布时间2012-03-21

时间: 2024-09-19 00:18:13

淘宝开源metaq的python客户端的相关文章

淘宝开源其系统监控工具Tsar

淘宝在开发社区的贡献可谓功不可没,近日又将其系统监控工具Tsar代码上传至GitHub.据@淘叔度介绍,Tsar在淘宝内部已经被大量使用,它不仅可以监控CPU.IO.内存.TCP等系统状态,也可监控Apache.Nginx/Tengine.Squid等服务器状态. Tsar(Taobao System Activity Reporter)可将收集到的数据存储在磁盘上,另外可以支持将数据存储到MySQL中,也可将数据发送到Nagios报警服务器.在展示数据层面,可以指定模块,并且支持对多条信息的数

淘宝开源Android容器化框架Atlas开发者指南

Atlas 由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发.快速迭代和动态部署,适用于 Android 4.x 以上系统版本的大小型 App 开发. 该框架于2017年3月13日正式开源,源码:alibaba/atlas 开发者指南(视频教程):开源Android容器化框架Atlas开发者指南 **项目背景 ** 随着手机淘宝业务的快速增长,协作研发团队的不断扩大,技术也面临着更多挑战: 一方面代码量快速上升导致方法过多,限制打包的正常输出 另一个方面各业务线的开发和集

淘宝开源MQ——metamorphosis的github分支

  上周我在淘宝的同事开源了一个消息中间件metamorphosis,放在了淘蝌蚪上.我从淘蝌蚪的svn上fork了一个github的分支,放在了这里:  1.主体工程:https://github.com/killme2008/Metamorphosis  2.示例项目:https://github.com/killme2008/metamorphosis-example  3.Twitter storm的spout项目:https://github.com/killme2008/storm-

淘宝开源数据库OceanBase编译、安装和配置手册

概述     OceanBase是 一个高性能的分布式表格系统,提供类似BigTable的性能和扩展性,但表格中保存的是强类型的数据,比如integer,string,datetime等. 它使用C++编写,运行于64位Linux环境下.生产环境下需要使用多台机器搭建OceanBase集群以提供高可用和高性能,但是你也完全可以使用一 台机器运行OceanBase.     本章节讲解如何迅速搭建一个可用的最小OceanBase环境,在这之前请确保你能提供以下的条件: 64位的Linux服务器一台

淘宝开源大合集

手机淘宝客户端架构探索实践

宗心:淘宝无线事业部资深开发工程师,手机淘宝iOS架构组开发工程师,2012年底参与开发手机淘宝iOS3.0版本,经历大小几十个版本的变迁,针对手机淘宝总体设计架构,hybrid框架解决方案,插件化解决方案以及手机淘宝核心业务组件均有参与和贡献.(阿里巴巴无线事业部:负责手机淘宝并为阿里巴巴各条无线产品线提供基础技术和设施). 2014年手机淘宝经历了自诞生以来最大规模的一次重构.经历了去年业务的爆炸性增长,以及性能稳定性等多方面挑战后,手机淘宝在开发模式,客户端架构上面都必须做到轻量,透明,延

python爬取淘宝商品信息并加入购物车

先说一下最终要达到的效果:谷歌浏览器登陆淘宝后,运行python项目,将任意任意淘宝商品的链接传入,并手动选择商品属性,输出其价格与剩余库存,然后选择购买数,自动加入购物车. 在开始爬取淘宝链接之前,咱么要先做一些准备工作,我项目中使用的是 python2.7 ,开发与运行环境都是win10,浏览器是64位chrome 59.0.3.由于淘宝的模拟登陆涉及到一些复杂的UA码算法以及滑块登陆验证,能力有限,为了图省事就使用浏览器手动登录淘宝然后python获取生成的cookie的方式来爬取登录后的

淘宝分布式配置管理服务Diamond

在一个分布式环境中,同类型的服务往往会部署很多实例.这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务.通过这个服务可以轻松地管理这些应用服务的配置问题.应用场景可概括为: zookeeper的一种应用就是分布式配置管理(基于ZooKeeper的配置信息存储方案的设计与实现).百度也有类似的实现:disconf. Diamond则是淘宝开源的一种分布式配置管理服务的实现.Diamond本质上是一个Java写的Web应用,其对外提供接口都是基于HTTP协议的,在阅读代码时可以从实现

手机淘宝上演变形计 与旺信合体支持语音侃价

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 速途网讯 8月6日消息,阿里巴巴旗下手机淘宝与旺信两大客户端实现"合体",喜欢手机网购的"沙发党"使用手机淘宝,就可以直接跟卖家语音沟通. 据了解,淘宝和旺信两大客户端打通,是手机淘宝变形计划的一部分.此次发布的是适用于安卓手机的合体版.此前,iPhone版手机淘宝已经引入了旺信."合体&qu