欢迎光临
免费的PDF电子书下载网站

ZeroMQ:云时代极速消息通信库 PDF下载

编辑推荐

  请潜心研究MQ(又名ZeroMQ)这个智能套接字库,它让你的应用程序能够获得快速、简便、基于消息的并发性。有了这本快节奏的指南,你将在实践中学习如何使用这个可扩展、轻量级且高度灵活的网络工具,从而在集群、云服务端等各种多系统环境之间交换消息。
  MQ的维护者PieterHintjens带你观察现实世界的应用程序,并用C语言编写的扩展例子帮助你使用MQ的API、套接字和模式。了解如何使用特定的MQ编程技术,构建多线程应用程序,并创建自己的消息传递架构。你会学到MQ如何与多种编程语言和大多数操作系统共用,只有很少的成本或根本没有成本。
  了解MQ的主要模式:请求-应答、发布-订阅和管道
  通过建立几个小应用程序来使用MQ套接字和模式
  通过工作实例探索MQ的请求-应答模式的高级使用
  构建一个在代码或硬件出现故障时保持工作可靠性的请求-应答模式
  扩展MQ的核心发布-订阅模式的性能、可靠性、状态分发与监控
  了解用MQ来构建分布式架构的技术
  探索为分布式应用程序建立一个通用的框架有什么要求

 ;

内容简介

  《ZeroMQ:云时代极速消息通信库》介绍ZeroMQ的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ编程技术构建多线程应用程序,并创建自己的消息传递架构。《ZeroMQ:云时代极速消息通信库》设计了大量工作实例来实现请求-应答模式的高级使用和容错性,并对发布-订阅模式的性能、可靠性、状态分发与监控进行了扩展。

  《ZeroMQ:云时代极速消息通信库》面向的读者是希望制作大规模分布式软件的专业程序员和有志于这方面研究的专业人士,旨在帮助他们解决大规模、可扩展、低成本、高效率的问题,书中还展现了ZeroMQ所需的网络和分布式计算概念。

作者简介

Pieter HintjensiMatix公司的CEO和首席软件设计师,该公司创建了MQ。他是自由信息基础设施基金会(FFII)的前任会长,欧洲专利大会和数字标准组织的创办人,Wikidot公司的前CEO,他还是MQ的一位维护者。

ZeroMQ:云时代极速消息通信库 PDF下载

目录

前言
第1部分学习如何使用?MQ来开展工作
第1章基础知识
  修复这个世界
  本书的读者对象
  获取示例
  问过就必有收获
  在字符串上的小注解
  版本报告
  获得消息
  分而治之
  用?MQ编程
  获取正确的上下文
  执行彻底的退出
  为什么我们需要?MQ
  套接字的可扩展性
  从?MQv2.2升级到?MQv3.2
  警告:不稳定的典范
第2章套接字和模式
  套接字API
  把套接字接入网络拓扑
  使用套接字来传输数据
  单播传输
  ?MQ不是一个中性载体
  I/O线程
  消息传递模式
  高级别消息传递模式
  处理消息
  处理多个套接字
  多部分消息
  中间层及代理
  动态发现问题
  共享队列(DEALER和ROUTER套接字)
  ?MQ的内置代理功能
  传输桥接
  处理错误和ETERM
  处理中断信号
  检测内存泄漏
  使用?MQ编写多线程程序
  线程间信令(PAIR套接字)
  节点协调
  零拷贝
  发布-订阅消息封包
  高水位标记
  消息丢失问题的解决方案
第3章高级请求-应答模式
  请求-应答机制
  简单的应答封包
  扩展的应答封包
  这有什么好处呢
  请求-应答套接字回顾
  请求-应答组合
  REQ到REP组合
  DEALER到REP组合
  REQ到ROUTER组合
  DEALER到ROUTER组合
  DEALER到DEALER组合
  ROUTER到ROUTER组合
  无效组合
  探索ROUTER套接字
  身份和地址
  ROUTER错误处理
  负载均衡模式
  ROUTER代理和REQ工人
  ROUTER代理及DEALER工人
  负载均衡的消息代理
  用于?MQ的一个高级别的API.
  高级别API的特点
  CZMQ高级别API
  异步客户端/服务器模式
  能够工作的示例:跨代理路由
  建立详情
  单集群架构.
  扩展到多个集群
  联盟与对等比较
  命名规范
  状态流原型.
  本地流和云端流原型
  总结.
第4章可靠的请求-应答模式
  什么是“可靠性”
  可靠性设计
  客户端可靠性(懒惰海盗模式)
  基本可靠队列(简单海盗模式)
  健壮的可靠队列(偏执海盗模式)
  信号检测
  置若罔闻地将它关闭
  单向信号检测
  乒乓信号检测
  针对偏执海盗的信号检测
  合同和协议
  面向服务的可靠队列(管家模式)
  异步管家模式
  服务发现
  幂等服务
  断开连接的可靠性(泰坦尼克模式)
  高可用性对(双星模式)
  详细需求
  避免脑裂症状.
  双星实现
  双星反应器.
  无代理可靠性(自由职业者模式)
  模型一:简单的重试和故障转移
  模型二:粗暴猎枪屠杀
  模式三:复杂和讨厌的
  结论.
第5章高级发布-订阅模式
  发布-订阅模式的优点和缺点.
  发布-订阅跟踪(特浓咖啡模式).
  最后一个值缓存.
  慢速订阅者检测(自杀蜗牛模式).
  高速订阅者(黑盒模式).
  可靠的发布-订阅(克隆模式)
  集中式与分散式
  将状态表示为键-值对
  得到带外的快照
  重新发布来自客户端的更新
  处理子树
  临时值
  使用反应器.
  在双星模式中添加可靠性.
  集群的散列映射协议
  构建一个多线程栈和API
第2部分使用?MQ的软件工程
第6章?MQ社区
  ?MQ社区的架构
  如何制作真正的大型架构
  软件架构的心理学
  合同
  过程
  疯狂,美丽,并且容易
  陌生人,遇见陌生人
  无限的财富
  照管和培育
  ?MQ过程:C4
  语言
  目标
  热身
  许可和所有权
  对补丁程序的要求
  开发过程
  建立稳定的版本
  公共合同的演变
  一个实际例子
  Git分支是有害的
  简单性与复杂性的对比
  更改延迟
  学习曲线
  出故障的成本
  前期协调
  可扩展性
  惊奇和期望
  参与的经济学
  在冲突中的强壮性
  隔离的保证
  能见度
  结论
  为创新而设计
  双桥传说
  ?MQ的路线图是如何失去的
  垃圾桶化的设计
  复杂化的设计
  简约化的设计
  职业倦怠
  成功模式
  懒惰的完美主义者
  仁慈暴君
  天和地
  门户开放
  大笑的小丑
  留心的将军
  社会工程师
  不朽的园丁
  滚石
  海盗帮
  快闪族
  加那利看守.
  执行绞刑的刽子手
  历史学家
  煽动者
  神秘人
第7章使用?MQ的高级架构
  用于弹性设计的面向消息模式
第1步:内部化的语义
第2步:描绘一个粗略的架构
第3步:决定合同
第4步:编写一个最小的端到端解决方案
第5步:解决一个问题,然后重复
  Unprotocol
  合同是艰难的.
  如何编写Unprotocol
  为什么使用GPLv3的公开规范
  使用ABNF
  廉价或讨厌的模式
  序列化数据
  ?MQ组帧
  序列化语言
  序列化库
  手写的二进制序列化
  代码生成
  传输文件
  状态机.
  使用SASL认证
  大型文件发布:FileMQ
  为什么要制作FileMQ.
  最初的设计切片:API
  最初的设计切片:协议
  构建和尝试FileMQ
  内部架构
  公共API
  设计说明
  配置.
  文件稳定性.
  递交通知
  符号链接
  恢复和后期加入者
  测试用例:曲目工具
  得到一个官方端口号
第8章分布式计算的框架
  用于现实世界的设计
  无线网络的秘密生活
  为什么网状网络现在还没出现
  一些物理知识
  现状是什么
  结论
  发现
  通过原始套接字先发制人的发现
  使用UDP广播协同发现
  一台设备上的多个节点
  设计API
  关于UDP的更多内容
  分拆一个库项目
  点对点消息传递
  UDP信标帧
  真正的对等连接(和谐模式)
  检测失踪
  群发消息
  测试与模拟
  使用断言
  前期测试
  Zyre测试仪
  测试结果
  跟踪活动
  处理阻塞节点
  分布式日志记录和监视
  一个合理的最小实现
  协议断言
  二进制日志记录协议
  内容分发
  编写Unprotocol.前言xix
第1部分学习如何使用?MQ来开展工作
第1章基础知识
  修复这个世界
  本书的读者对象
  获取示例
  问过就必有收获
  在字符串上的小注解
  版本报告
  获得消息
  分而治之
  用?MQ编程
  获取正确的上下文
  执行彻底的退出
  为什么我们需要?MQ
  套接字的可扩展性
  从?MQv22升级到?MQv32
  警告:不稳定的典范
第2章套接字和模式
  套接字API
  把套接字接入网络拓扑
  使用套接字来传输数据
  单播传输
  ?MQ不是一个中性载体
  I/O线程
  消息传递模式
  高级别消息传递模式
  处理消息
  处理多个套接字
  多部分消息
  中间层及代理
  动态发现问题
  共享队列(DEALER和ROUTER套接字)
  ?MQ的内置代理功能
  传输桥接
  处理错误和ETERM
  处理中断信号
  检测内存泄漏
  使用?MQ编写多线程程序
  线程间信令(PAIR套接字)
  节点协调
  零拷贝
  发布-订阅消息封包
  高水位标记
  消息丢失问题的解决方案
第3章高级请求-应答模式
  请求-应答机制
  简单的应答封包
  扩展的应答封包
  这有什么好处呢
  请求-应答套接字回顾
  请求-应答组合
  REQ到REP组合
  DEALER到REP组合
  REQ到ROUTER组合
  DEALER到ROUTER组合
  DEALER到DEALER组合
  ROUTER到ROUTER组合
  无效组合
  探索ROUTER套接字
  身份和地址
  ROUTER错误处理
  负载均衡模式
  ROUTER代理和REQ工人
  ROUTER代理及DEALER工人
  负载均衡的消息代理
  用于?MQ的一个高级别的API
  高级别API的特点
  CZMQ高级别API
  异步客户端/服务器模式
  能够工作的示例:跨代理路由
  建立详情
  单集群架构
  扩展到多个集群
  联盟与对等比较
  命名规范
  状态流原型
  本地流和云端流原型
  总结
第4章可靠的请求-应答模式
  什么是“可靠性”
  可靠性设计
  客户端可靠性(懒惰海盗模式)
  基本可靠队列(简单海盗模式)
  健壮的可靠队列(偏执海盗模式)
  信号检测
  置若罔闻地将它关闭
  单向信号检测
  乒乓信号检测
  针对偏执海盗的信号检测
  合同和协议
  面向服务的可靠队列(管家模式)
  异步管家模式
  服务发现
  幂等服务
  断开连接的可靠性(泰坦尼克模式)
  高可用性对(双星模式)
  详细需求
  避免脑裂症状
  双星实现
  双星反应器
  无代理可靠性(自由职业者模式)
  模型一:简单的重试和故障转移
  模型二:粗暴猎枪屠杀
  模式三:复杂和讨厌的
  结论
第5章高级发布-订阅模式
  发布-订阅模式的优点和缺点
  发布-订阅跟踪(特浓咖啡模式)
  最后一个值缓存
  慢速订阅者检测(自杀蜗牛模式)
  高速订阅者(黑盒模式)
  可靠的发布-订阅(克隆模式)
  集中式与分散式
  将状态表示为键-值对
  得到带外的快照
  重新发布来自客户端的更新
  处理子树
  临时值
  使用反应器
  在双星模式中添加可靠性
  集群的散列映射协议
  构建一个多线程栈和API
第2部分使用?MQ的软件工程
第6章?MQ社区
  ?MQ社区的架构
  如何制作真正的大型架构
  软件架构的心理学
  合同
  过程
  疯狂,美丽,并且容易
  陌生人,遇见陌生人
  无限的财富
  照管和培育
  ?MQ过程:C4
  语言
  目标
  热身
  许可和所有权
  对补丁程序的要求
  开发过程
  建立稳定的版本
  公共合同的演变
  一个实际例子
  Git分支是有害的
  简单性与复杂性的对比
  更改延迟
  学习曲线
  出故障的成本
  前期协调
  可扩展性
  惊奇和期望
  参与的经济学
  在冲突中的强壮性
  隔离的保证
  能见度
  结论
  为创新而设计
  双桥传说
  ?MQ的路线图是如何失去的
  垃圾桶化的设计
  复杂化的设计
  简约化的设计
  职业倦怠
  成功模式
  懒惰的完美主义者
  仁慈暴君
  天和地
  门户开放
  大笑的小丑
  留心的将军
  社会工程师
  不朽的园丁
  滚石
  海盗帮
  快闪族
  加那利看守
  执行绞刑的刽子手
  历史学家
  煽动者
  神秘人
第7章使用?MQ的高级架构
  用于弹性设计的面向消息模式
第1步:内部化的语义
第2步:描绘一个粗略的架构
第3步:决定合同
第4步:编写一个最小的端到端解决方案
第5步:解决一个问题,然后重复
  Unprotocol
  合同是艰难的
  如何编写Unprotocol
  为什么使用GPLv3的公开规范
  使用ABNF
  廉价或讨厌的模式
  序列化数据
  ?MQ组帧
  序列化语言
  序列化库
  手写的二进制序列化
  代码生成
  传输文件
  状态机
  使用SASL认证
  大型文件发布:FileMQ
  为什么要制作FileMQ
  最初的设计切片:API
  最初的设计切片:协议
  构建和尝试FileMQ
  内部架构
  公共API
  设计说明
  配置
  文件稳定性
  递交通知
  符号链接
  恢复和后期加入者
  测试用例:曲目工具
  得到一个官方端口号
第8章分布式计算的框架
  用于现实世界的设计
  无线网络的秘密生活
  为什么网状网络现在还没出现
  一些物理知识
  现状是什么
  结论
  发现
  通过原始套接字先发制人的发现
  使用UDP广播协同发现
  一台设备上的多个节点
  设计API
  关于UDP的更多内容
  分拆一个库项目
  点对点消息传递
  UDP信标帧
  真正的对等连接(和谐模式)
  检测失踪
  群发消息
  测试与模拟
  使用断言
  前期测试
  Zyre测试仪
  测试结果
  跟踪活动
  处理阻塞节点
  分布式日志记录和监视
  一个合理的最小实现
  协议断言
  二进制日志记录协议
  内容分发
  编写Unprotocol
  结论
第9章后记
  番外篇
  RobGagnon的故事
  TomvanLeeuwen的故事
  MichaelJakl的故事
  VadimShalts的故事
  本书是如何诞生的
  消除摩擦
  许可
索引

媒体评论

本年度你能读到的最好的爱与套接字的故事。

——Alexis Richardson VMware的高级主管和新人训练师。

前沿

MQ 的一百字概括

MQ(也称为ZeroMQ0MQ zmq)看起来像一个可嵌入的网络库,但其作用就像一个并发框架。它为你提供了在各种传输工具,如进程内、进程间、TCP 和组播中进行原子消息传送的套接字。你可以使用各种模式实现N N 的套接字连接,这些模式包括扇出、发布- 订阅、任务分配和请求- 应答。它的速度足够快,因此可充当集群产品的结构。

它的异步I/O 模型提供了可扩展的多核应用程序,用异步消息来处理任务。它有多种编程语言的API,并可运行在大多数操作系统上。MQ iMatix开发的,并在LGPLv3 许可下开源。

零之禅

MQ 中的 关乎权衡。一方面,MQ 这个奇怪的名字使其在谷歌和Twitter 上降低了知名度。另一方面,它惹恼了一些丹麦人(译者注: 是丹麦语字母表中的字母),他们写给我们如下的东西,比如“MG rtfl”(译者注:把 替换成O 后表示“天哪,笑翻了”)、“ 不是一个有趣的零!”(译者注:早期计算机输出中用这个符号表示数字0,以便与字母O 区分)和“Rdgrd med Flde!”(这显然是一种侮辱,意思是“愿你的邻居是格伦德尔的直系后裔!”)(译者注:在古英国史诗《贝奥武夫》中,格伦德尔是一只雄性怪兽,这里作者好像是在误导,rdgrd med flde,意为“浇了奶油的红莓布丁”,是个非常经典的丹麦语绕口令,它难倒了很多外国人,因为这短短的一句话中包括了三个“”(两种不同的发音方式)、咽喉擦音r、重音gr 组合和软化的d(发音类似于英语with 中的th)。)这毁誉参半的两方面似乎是一个公平的交易。

最初,MQ 中的“零”是为了表示“零代理”和(尽可能接近)“零延迟”。但从那时起,它已经涵盖了不同的目标:零管理、零成本、零浪费。更一般的,“零”是指贯穿项目的简约文化。我们通过消除复杂性,而不是通过公开新功能来增加威力。

本书的历程

2010 年的夏天,MQ 仍是一个名不见经传的小众库,它由相当简洁的参考手册和一个活跃但精炼的wiki 来描述。那时,Martin Sustrik 和我坐在布拉迪斯拉发Kyjev 酒店的酒吧里,密谋如何让MQ 获得更广泛的普及。Martin 写了大部分的MQ 代码,而我提供了资金并组织了社区。因为某种原因,我们一致认为MQ 需要一个更简单的新网站,并需要为新用户写一本基本指南。

Martin 收集了一些要讲解的主题。由于在此之前,我连一行MQ 代码都没写过,因此这本书的写作过程成了一个活学活用的见证。当我通过简单的例子进入复杂的工作时,我试着回答了很多在邮件列表上见过的问题。因为30 年来我一直在构建大型架构,所以我有很多问题渴望用MQ 来解决。令人惊讶的是,用MQ 来解决问题所获得的结果大多是简单而优雅的,甚至当我用C 语言工作时,学习MQ 和用它解决实际问题也会使我感到一种纯粹的快乐,这使我在几年的停顿后,再一次回归编程领域。而往往,我们起初也不知道它“应该”如何完成某项工作,在使用过程中,我们不断地对MQ 进行着改进。

因为从一开始,我就想把这本指南做成一个社区项目,所以我把它放到GitHub 上,让别人通过提出请求的方式为本书做出贡献。这种做法被某些人认为是激进的,甚至是低俗的。我们实现了分工:我负责写作和制作原始的C 语言示例,其他人帮助修复文本中的错误并把示例翻译成其他语言。

这种模式工作得比我想象的更好。现在你可以找到所有示例的多种语言版本,许多例子甚至有十几种语言版本。它是一块编程语言的罗塞塔石碑(译者注:刻有古埃及国王托勒密五世登基的诏书的石碑。上面用希腊文字、古埃及文字和当时的通俗体文字刻了同样的内容),这本身就是一个有价值的结果。我们建立了高分标准:翻译程度达到80%,每种语言都有自己的指南。PHPPythonLua Haxe 都达到了这个目标。人们要求我们创建PDF 文件,我们就创建好后提供给他们。人们要求提供电子书,他们也如愿以偿了。目前,这本指南得到了大约一百多人的帮助。

该指南实现了普及MQ 的目标。这种风格取悦了大多数人但也惹恼了一些人,这是自然的。2010 12 月,我在MQ 和指南上的工作停顿了下来,因为我查出自己患了晚期癌症,动了多次手术并化疗6 个月。当我在2011 年年中再度拾起这项工作时,它开始在可以想象的最大的用例之一上爆发,即:在全球最大的电子公司的手机和平板电脑上使用MQ

但是,本指南的目标从一开始就是一本印刷书籍。所以,在2012 1 月我收到Bill Lubanovic 发来的一封电子邮件,这是令人兴奋的,他把我介绍给O’Reilly 公司的Andy Oram 编辑,建议出一本MQ 的图书。“当然!”我说,“可我在哪里签名呢?我需要付多少钱?呵呵,我能得到钱吗?所有我需要做的就是完成它吗?”

当然,只要O’Reilly 发布一本MQ 图书,其他出版社就会开始给潜在的作者发送电子邮件约稿。明年你可能会看到大量的MQ 图书现身。这是很好的。我们的小众库已经成为主流,并值得拥有六英寸的书架空间。我要向其他MQ 图书的作者致歉,我们已经设置了可怕的高门槛,我的建议是让你的书具有互补性,也许可以专注于一种特定的语言、平台或模式。

这就是社区的神奇和力量:如果你创建的社区能成为在某一个领域中的第一个社区,并保持健康发展,你就将永远占据这个领域的领导地位。

读者对象

本书是为专业程序员编写的,旨在帮助他们了解如何制作将主宰未来计算的大规模分布式软件。我们假设你能够阅读C 代码,因为这里的大多数示例都用C 语言编写(尽管MQ被用在许多语言中)。我们假设你关注规模,因为MQ解决了上述所有其他的问题。

我们假设你需要用最少的成本获得最好的结果,因为否则你不会欣赏MQ 所做的权衡。除了这些基本的背景,我们还试图为你呈现使用MQ 将需要的所有网络和分布式计算的概念。

本书所使用的约定

本书使用以下印刷约定:

斜体(Italic

用于表示新的术语、命令或命令行选项、URL、电子邮件地址、文件名和文件扩展名。

等宽字体(Constant width

用于程序清单,以及段落中引用的程序元素,如变量、函数名、数据类型和环境变量。

等宽粗体(Constant width bold

用于表示由用户输入的命令行。

等宽斜体(Constant width italic

用于表示应被替换为用户提供的有意义的值的预留位置。

此图标表示提示、建议或一般的注意。

中文版书中切口以“”表示原书页码,便于读者与原英文版图书对照阅读,本书的索引中所列的页码为原英文版页码。

使用代码示例

代码示例都在在线存储库中。你会发现每一个例子都被翻译成其他数种语言。这些例子都在MIT/X11 下授权,详情请查看该目录中的LICENSE 许可文件。本书正文解释了在各种情况下如何运行每个示例。

我们欢迎在使用代码示例时署名,但不强制要求这么做。一个署名通常包括标题、作者、出版商和ISBN。例如:“ZeroMQ by PieterHintjens (O’Reilly). Copyright 2013 Pieter Hintjens, 978-1-449-33406-2.”。

如果你发现自己对书中代码的使用有失公允,或是违反了前述条款, 敬请通过permissions@oreilly。com 与我们联系。

Safari? Books Online

Safari Books Online 是一家按需所取的数字图书馆,它同时提供来自世界各地领先的技术和业务作者的书籍和视频两种形式的专业内容。

专业技术人员、软件开发人员、网页设计师,以及商业和创意专业人士使用Safari 联机丛书作为研究,是解决问题、学习和认证培训的主要资源。

Safari Books Online 提供了一系列的产品组合和针对组织、政府机构和个人的定价方案。用户有机会在一个完全可搜索的数据库中访问成千上万的书籍、培训视频和即将出版的原稿,它们来自O’Reilly MediaPrentice HallProfessionalAddison-Wesley ProfessionalMicrosoft PressSamsQuePeachpit PressFocal PressCisco PressJohn Wiley &; SonsSyngressMorgan KaufmannIBM RedbooksPacktAdobe PressFT PressApressManningNew RidersMcGraw-HillJones &;BartlettCourse Technology 以及大量其他出版商。有关Safari Books Online 的更多详细信息,请访问我们的网站。

致谢

感谢Andy Oram 使本书能够在O’Reilly 出版并对此书进行了编辑。

感谢Bill DesmaraisBrian DorseyDaniel LinEric DesgrangesGonzalo DiethelmGuido GoldsteinHunter FordKamil ShakirovMartin SustrikMike CastlemanNaveen ChawlaNicola PeduzziOliver SmithOlivier ChamouxPeter AlexanderPierre RouleauRandy DryburghJohn UnwinAlex ThomasMihail MinkovJeremy AvnetMichael ComptonKamil KisielMark KharitonovGuillaume AubertIan BarberMike SheridanFaruk AkgulOleg Sidorov

免费在线读

ZeroMQ iMatix 开发的以消息为导向的开源中间件库,它类似于标准Berkeley 套接字,支持多种通信模式(扇出、发布- 订阅、任务分配和请求- 应答)和传输协议(进程内、进程间、TCP 和多播),可以用作一个并发框架。其核心由C 编写,支持C++Java 等多种语言的API,能在大部分现代平台上运行。它的运行速度很快,其异步模型具有高可扩展性。ZeroMQ 中的Zero(零)代表简约并涵盖不同目标:零代理、零延迟、零管理、零成本等。

本书源自ZeroMQ 的参考手册,通过社区共同开发而成,数百人为本书做出了贡献,包括用各种编程语言编写的示例。本书也为运作一个成功的社区提供了范例。

值得一提的是,本书作者Pieter Hintjens iMatix 公司的首席执行官,他于2010 年被查出患了晚期癌症,动了多次手术并化疗6 个月,但2011 年仍然坚持继续完成这本书的写作。这种奋不顾身的专业精神值得我们学习。

感谢电子工业出版社计算机出版分社的张春雨编辑选择我们翻译本书,感谢刘舫编辑,她从专业的角度对译文进行了把关,并进行了许多润色,使之更具可读性。

感谢李绿霞、卢林、陈克非、李洪秋、张慧珍、李又及、卢晓瑶、陈克翠、汤有四、李阳、刘雯、贾书民、苏旭晖对本书翻译工作做出的贡献。

还要感谢我们的儿子卢〇一小朋友,他知道我们在翻译书稿就常常自己安静地读书和玩耍,还放弃了很多出去玩的机会,让我们能够专注于本书的翻译,本书的出版也有他的一份贡献。

最后希望这本书对读者有帮助。但由于译者经验和水平有限,译文中难免有不妥之处,恳请读者批评指正!

卢涛 李颖

2014 12 8

ZeroMQ:云时代极速消息通信库 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:ZeroMQ:云时代极速消息通信库