- 浏览: 474405 次
- 性别:
- 来自: 上海
-
最新评论
-
kc_hxd_jp:
博主问个问题,这个篇幅下的python代码无法达到应有的作用, ...
zeroMQ初体验-14.命名机制 进阶 -
kobe1029:
Map<String, Object> args ...
rabbitmq 队列长度预设的曲线方案 -
Sasoritattoo:
LZ,这都13年了,抽空把这篇文章的下文给表完了吧,这一口气喘 ...
nginx + gridfs + mongodb 大事记(残) -
3GQQ2012:
引用前文已经说过,XREP其实用以平衡负载,所以这里由它对请求 ...
zeroMQ初体验-15.应答模式进阶(一)-数据的封装 -
iyuan:
ustclz 写道图片怎么显示不了了。。我这看是可以显示的。不 ...
zeroMQ初体验-1.简介及C/S模式
文章列表
诸位在前面的例子中,已经可以发现所有的关系都是成对匹配出现的。
之前已经使用的几种模式:
req/rep(请求答复模式):主要用于远程调用及任务分配等。
pub/sub(订阅模式):主要用于数据分发。
push/pull(管道模式):主要用于多任务并行。
除此之外,还有一种模式,是因为大多数人还么有从"TCP"传统模式思想转变过来,习惯性尝试的独立成对模式(1to1).这个在后面会有介绍。
ZeroMQ内置的有效绑定对:
PUB and SUB
REQ and REP
REQ and XREP
XREQ and REP
XREQ and XREP
XREQ and XR ...
既然是读书笔记,按照顺序,原作者在这里"唠嗑"了一大堆Why,看的着实有些热血沸腾,幸而也是他的对头"兔子"的簇拥,略带客观的说说:
zeroMQ从某种层面上甚至都不能称为软件(或许连工具都称不上)。它只是一套组件,封装了复杂的网络、进程等连接环境,向上提供API,由各个语言编写对应类库,正式运用环境是通过调用对应的类库来实现的。
从自由的角度来说,它是去中心化的,自由度极高;而从安全稳固的角度来看,则是有着无法避免的缺憾。(原本就没有完美)
额,有点偏了。
0mq中的0从"零延迟"衍生为:零成本、零浪费、零管理,奉行简约主义的 ...
push/pull模式:
模型描述:
1.上游(任务发布)
2.工人(中间,具体工作)
3.下游(信号采集或者工作结果收集)
上游代码:
import zmq
import random
import time
context = zmq.Context()
# Socket to send messages on
sender = context.socket(zmq.PUSH)
sender.bind("tcp://*:5557")
print "Press Enter when the workers are ready: ...
pub/sub模式:
发布端(pub)
import itertools
import sys
import time
import zmq
def main():
if len (sys.argv) != 2:
print 'usage: publisher <bind-to>'
sys.exit (1)
bind_to = sys.argv[1]
all_topics = ['sports.general' ...
本来是想做个翻译的,奈何英文太差,还是逐个的对zeroMQ各用法进行简析,文中代码主要来自pyzmq中的example,详细原文请自行参看这里,也不清楚有没有兄台做过类似工作,这里主要供自个儿学习备忘,如有谬误,欢迎指出~
简介:
ØMQ (ZeroMQ, 0MQ, zmq),这一堆表达方式看哪个顺眼就选哪个吧,都指的咱要讲的这玩意儿。
它出现的目的只有一个:更高效的利用机器。好吧,这是我个人的看法,官方说法是:让任何地方、任何代码可以互联。
应该很明白吧,如果非要做联想类比,好吧,可以想成经典的C/S模型,这个东东封装了所有底层细节,开发人员只要关注代码逻辑就可以了。(虽然联想成C/S ...
今天一同事自学python,用到数据库连接,遇到一个诡异问题(有点夸张了)
在mysql端口是3306(默认)的情况下,用Python做客户端连,竟然随便输个port都可以?!
在对比了我的代码后,发现他添加了unix_socket参数,估计是这个问题了,OK,问题来了,
把这个参数删除,程序竟然报错,找不到/tmp/mysql.socket了..
绕了一圈(不容易啊),发现他的ip用了localhost,会不会是这个原因呢,改为127.0.0.1,试之,
果然,估计是因为用了localhost,压根没有走tcp连接,自然也没有用到port,直接寻找本地
unix_socket了,为 ...
在mongo中做sql的like语句是很容易的:
select * from xxx where xx like '%xxx%'
{xxx :/xxx/}
即可.
在python的client中,稍微麻烦些(google关键词很难找到的说)
有以下两种方式:
1.import re
{'xxx':re.compile('xxx')}
2.{'xxx':{'$regex':'xxx'}}
可以起到同样效果。
[备忘用]
一直在忙,好久不来(好吧,这不是理由 )
好歹是混互联网的,没个围脖说不过去(我真不是这么想的),由于种种原因(你懂得),在新浪
上开了个号,啥也没做,咋就flow了那么多人?(不用咆哮体了)
第一件事,删掉那些莫名其妙的Flower,作为一个coder,手动删就太过那啥了。
翻了下api文档,竟然有python的SDK,下之,没有demo,发现了这么个东西“exanples”,难道是
传说中的example?只是为什么会有那么多的Test?
就着这个SDK,在权限上饶了个大圈(丫的还有BUG!传参顺序都能写错?)
关于权限倒腾问题以下省略1000字,具体论坛上查阅之...
为 ...
之前写过一篇通过队列、池来持续追加任务的方式:http://iyuan.iteye.com/blog/781168
今个儿重新咀嚼了下,发现gevent的pool似乎可以达到真正意义上的任务追加。
这里先重新简单的阐明下“任务”这个概念,相对于上次那篇,相对宏观了些:
就是Greenlet!(不熟悉的可以参看下gevent的文档http://www.gevent.org/contents.html)
先实例化:
g = pool.Pool()
通过g.add(),g.spawn(),就可以持续追加任务入池,在建立pool时,可以设置size,不过这里似乎有个bug,设定了size后,似乎 ...
最近有报BUG,抓 https竟然报 "unknown type:https",
杯具了一把,原来是 gevent中的monkey做patch_socke时
由于python版本的原因,竟然寻不到ssl,
它在这:http://pypi.python.org/packages/source/s/ssl/ssl-1.15.tar.gz#md5=81ea8a1175e437b4c769ae65b3290e0c
下载,安装上就可以了,小郁闷一把
恩,仅是罗列一些自己用到的,感觉很靠谱的第三方模块。
pep8 http://pypi.python.org/pypi/pep8/0.6.1
这个是静态校验代码格式的,特别对从其他语言转过来的新人,很是有些用处
pygenie http://www.traceback.org/2008/03/31/measuring-cyclomatic-complexity-of-python-code/
这个是测试python代码圈复杂的,配合着unittest,很容易控制覆盖,最重要的,简化代码!
nose http://somethingaboutorange.com/mrl/projects/n ...
在实际运用中,缓存用的是flare,有时会出现客户端无法连接缓存服务器或者
无法写入的问题,通常情况下的排错顺序是:
1,检查是否限制了连接数,ulimit,netstat命令
2,flared.conf中的max连接
3,flared.conf中允许数据大小的限制。
不过,这里不是要讲的这些。关键是,一切都还靠谱,就是不行,为啥捏。
从beansdb中看到这段:
网络层采用的是memcached的代码, 它使用libevent, 每个连接是跟固定的线程绑定的,在存储引擎中使用这种线程模型容易发生阻塞, 磁盘IO操作阻塞当前线程进而阻塞了其它连接的网络IO
这个应该是一些奇怪问 ...
如此经典的书,由于太厚,连翻开的勇气都没有。
本着滴水穿石的原则,今天开篇了。主要做为自己学习、备忘之用。
这是1.1节相关:(相关章节会持续更新在同一篇里)
---------------华丽的分割符-----------
欧几里德算法:
给定两个正整数m和n,求它们的最大公因子,即能够同时整除m和n的最大正整数。
步骤:
1,[求余数] 以n除m并令r为所得余数(0<=r<n)
2,[余数为零?] 若r=0,算法结束,n为答案
3,[减少] 置m<-n,n<-r,并返回步骤1 (<-为置换符号,即把m值换成n)
补充:
...
其实有点标题了,主要是自己做个备忘。
由于mongodb目前只提供bson格式(也支持json)啦,而本人的老大又有些对nosql
惶恐(算是基于对纯内存的稳固性的不信任吧)。故而迫切需求将基于mongodb的数据做一个mysql的备份。google了一圈也 ...
有点后知后觉了,每天翻个十几篇greader,虽然只是订阅了几家,但也架不住量多质高,堆积了1000+,也不是什么数字控,不急不徐的每天翻翻,也基本做到诸事了于心了。
今天才感觉到 玩|聚 的那栏(也就是堆积最多的)数字竟然在下降,之前出现过一次,结果是原地址over了,具体原因也没关心,通过google大神找到新址继续follow。
初以为这次也行的,结果,google之,竟成永别。可惜了,身为技术人员,挺理解郑|钧的。
不发牢骚,谨以此文悼念那个SR.
Bye