没有合适的资源?快使用搜索试试~ 我知道了~
首页ZeroMQ官方文档中文版.pdf
资源详情
资源评论
资源推荐

zguide-cn haozu/zguide-cn
页 1

zguide-cn haozu/zguide-cn
页 2
目录
第一章 ZeroMQ 基础 ............................................................................................................ 5
拯救世界 ........................................................................................................................... 5
ZMQ 简介 .......................................................................................................................... 6
需要具备的知识 ............................................................................................................... 6
获取示例 ........................................................................................................................... 6
提问-回答 .......................................................................................................................... 7
关于字符串 ..................................................................................................................... 12
获取版本号 ..................................................................................................................... 13
让消息流动起来 ............................................................................................................. 13
分布式处理 ..................................................................................................................... 17
使用 ZMQ 编程 ............................................................................................................... 23
ZMQ 2.1 版 ...................................................................................................................... 25
正确地使用上下文 ......................................................................................................... 26
正确地退出和清理 ......................................................................................................... 26
我们为什么需要 ZMQ .................................................................................................... 27
套接字的扩展性 ............................................................................................................. 31
如果解决丢失消息的问题 ............................................................................................. 32
警告:你的想法可能会被颠覆! ................................................................................. 34
第二章 ZeroMQ 进阶 .......................................................................................................... 34
零的哲学 ......................................................................................................................... 35
套接字 API ....................................................................................................................... 35
使用套接字构建拓扑结构 ............................................................................................. 36
使用套接字传递数据 ..................................................................................................... 38
单播传输 ......................................................................................................................... 39
ZMQ 不只是数据传输 .................................................................................................... 40
I/O 线程 ........................................................................................................................... 40
核心消息模式 ................................................................................................................. 41
上层消息模式 ................................................................................................................. 42
消息的使用方法 ............................................................................................................. 42
处理多个套接字 ............................................................................................................. 44
处理错误和 ETERM 信号 ................................................................................................ 47

zguide-cn haozu/zguide-cn
页 3
处理中断信号 ................................................................................................................. 52
检测内存泄露 ................................................................................................................. 54
多帧消息 ......................................................................................................................... 55
中间件和装置 ................................................................................................................. 56
ZMQ 多线程编程 ............................................................................................................ 68
线程间的信号传输 ......................................................................................................... 71
节点协调 ......................................................................................................................... 74
零拷贝 ............................................................................................................................. 78
瞬时套接字和持久套接字 ............................................................................................. 79
发布-订阅消息信封 ........................................................................................................ 82
(半)持久订阅者和阈值(HWM) ............................................................................ 84
这就是你想要的! ......................................................................................................... 90
第三章 高级请求-应答模式 ............................................................................................... 90
Request-Reply Envelopes ................................................................................................ 91
自定义请求-应答路由 .................................................................................................... 95
ROUTER-DEALER 路由 ..................................................................................................... 96
最近最少使用算法路由(LRU 模式) ........................................................................ 100
使用地址进行路由 ....................................................................................................... 104
请求-应答模式下的消息代理 ...................................................................................... 107
Ø MQ 上层 API 的封装 .................................................................................................. 115
异步 C/S 结构 ............................................................................................................... 124
实战:跨代理路由 ....................................................................................................... 130
第四章 可靠的请求-应答模式 ......................................................................................... 155
什么是可靠性? ........................................................................................................... 155
可靠性设计 ................................................................................................................... 156
客户端的可靠性设计(懒惰海盗模式) ................................................................... 157
基本的可靠队列(简单海盗模式) ........................................................................... 162
健壮的可靠队列(偏执海盗模式) ........................................................................... 166
心跳 ............................................................................................................................... 175
约定和协议 ................................................................................................................... 176
面向服务的可靠队列(管家模式) ........................................................................... 177
异步管家模式 ............................................................................................................... 203

zguide-cn haozu/zguide-cn
页 4
服务查询 ....................................................................................................................... 213
幂等服务 ....................................................................................................................... 215
脱机可靠性(巨人模式) ........................................................................................... 215
高可靠对称节点(双子星模式) ............................................................................... 228
无中间件的可靠性(自由者模式) ........................................................................... 249
总结 ............................................................................................................................... 272
第五章 高级发布-订阅模式 ............................................................................................. 272
检测慢订阅者(自杀的蜗牛模式) ........................................................................... 272
高速订阅者(黑箱模式) ........................................................................................... 275
共享键值缓存(克隆模式) ....................................................................................... 278

zguide-cn haozu/zguide-cn
页 5
第一章 ZeroMQ 基础
拯救世界
如何解释 ZMQ?有些人会先说一堆 ZMQ 的好:它是一套用于快速构建的套接字
组件;它的信箱系统有超强的路由能力;它太快了!而有些人则喜欢分享他们
被 ZMQ 点悟的时刻,那些被灵感击中的瞬间:所有的事情突然变得简单明了,
让人大开眼界。另一些人则会拿 ZMQ 同其他产品做个比较:它更小,更简单,
但却让人觉得如此熟悉。对于我个人而言,我则更倾向于和别人分享 ZMQ 的诞
生史,相信会和各位读者有所共鸣。
编程是一门科学,但往往会乔装成一门艺术。我们从不去了解软件最底层的机
理,或者说根本没有人在乎这些。软件并不只是算法、数据结构、编程语言、
或者抽象云云,这些不过是一些工具而已,被我们创造、使用、最后抛弃。软
件真正的本质,其实是人的本质。
举例来说,当我们遇到一个高度复杂的问题时,我们会群策群力,分工合作,
将问题拆分为若干个部分,一起解决。这里就体现了编程的科学:创建一组小
型的构建模块,让人们易于理解和使用,那么大家就会一起用它来解决问题。
我们生活在一个普遍联系的世界里,需要现代的编程软件为我们做指引。所以,
未来我们所需要的用于处理大规模计算的构建模块,必须是普遍联系的,而且
能够并行运作。那时,程序代码不能再只关注自己,它们需要互相交流,变得
足够健谈。程序代码需要像人脑一样,数以兆计的神经元高速地传输信号,在
一个没有中央控制的环境下,没有单点故障的环境下,解决问题。这一点其实
并不意外,因为就当今的网络来讲,每个节点其实就像是连接了一个人脑一样。
如果你曾和线程、协议、或网络打过交道,你会觉得我上面的话像是天方夜谭。
因为在实际应用过程中,只是连接几个程序或网络就已经非常困难和麻烦了。
数以兆计的节点?那真是无法想象的。现今只有资金雄厚的企业才能负担得起
这种软件和服务。
当今世界的网络结构已经远远超越了我们自身的驾驭能力。十九世纪八十年代
的软件危机,弗莱德•布鲁克斯曾说过,这个世上没有银弹。后来,免费和开源
解决了这次软件危机,让我们能够高效地分享知识。如今,我们又面临一次新
的软件危机,只不过我们谈论得不多。只有那些大型的、富足的企业才有财力
建立高度联系的应用程序。那里有云的存在,但它是私有的。我们的数据和知
识正在从我们的个人电脑中消失,流入云端,无法获得或与其竞争。是谁坐拥
我们的社交网络?这真像一次巨型主机的革命。
剩余352页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论1