新書推薦:
《
心理咨询与治疗技术经典入门(第3版)
》
售價:NT$
650.0
《
无冕之王:齐桓公与齐国崛起
》
售價:NT$
290.0
《
中国涉外法治蓝皮书(2024)
》
售價:NT$
484.0
《
黄庭经详解(全2册)
》
售價:NT$
660.0
《
台北故宫博物院典藏大系·绘画卷(全十册)
》
售價:NT$
47400.0
《
姑苏繁华图
》
售價:NT$
3190.0
《
人的消逝:从原子弹、互联网到人工智能
》
售價:NT$
484.0
《
想象的共同体--民族主义的起源与散布(增订版)
》
售價:NT$
352.0
|
編輯推薦: |
请潜心研究MQ(又名ZeroMQ)这个智能套接字库,它让你的应用程序能够获得快速、简便、基于消息的并发性。有了这本快节奏的指南,你将在实践中学习如何使用这个可扩展、轻量级且高度灵活的网络工具,从而在集群、云服务端等各种多系统环境之间交换消息。
MQ的维护者Pieter Hintjens带你观察现实世界的应用程序,并用C语言编写的扩展例子帮助你使用MQ的API、套接字和模式。了解如何使用特定的MQ编程技术,构建多线程应用程序,并创建自己的消息传递架构。你会学到MQ如何与多种编程语言和大多数操作系统共用,只有很少的成本或根本没有成本。
□
了解MQ的主要模式:请求-应答、发布-订阅和管道
□
通过建立几个小应用程序来使用MQ套接字和模式
□
通过工作实例探索MQ的请求-应答模式的高级使用
□
构建一个在代码或硬件出现故障时保持工作可靠性的请求-应答模式
□
扩展MQ的核心发布-订阅模式的性能、可靠性、状态分发与监控
□
了解用MQ来构建分布式架构的技术
□
探索为分布式应用程序建立一个通用的框架有什么要求
|
內容簡介: |
《ZeroMQ:云时代极速消息通信库》介绍ZeroMQ 的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ 编程技术构建多线程应用程序,并创建自己的消息传递架构。《ZeroMQ:云时代极速消息通信库》设计了大量工作实例来实现请求- 应答模式的高级使用和容错性,并对发布- 订阅模式的性能、可靠性、状态分发与监控进行了扩展。
《ZeroMQ:云时代极速消息通信库》面向的读者是希望制作大规模分布式软件的专业程序员和有志于这方面研究的专业人士,旨在帮助他们解决大规模、可扩展、低成本、高效率的问题,书中还展现了ZeroMQ所需的网络和分布式计算概念。
|
關於作者: |
Pieter Hintjens,iMatix公司的CEO和首席软件设计师,该公司创建了MQ。他是自由信息基础设施基金会(FFII)的前任会长,欧洲专利大会和数字标准组织的创办人,Wikidot公司的前CEO,他还是MQ的一位维护者。
|
目錄:
|
前言 ..................................xix
第1 部分 学习如何使用MQ 来开展工作
第1 章 基础知识 ................. 3
修复这个世界 ..................3
本书的读者对象 ...............5
获取示例 ..........................5
问过就必有收获 ...............5
在字符串上的小注解 .....10
版本报告 ........................12
获得消息 ........................12
分而治之 ........................16
用MQ 编程 .................21
获取正确的上下文 ..22
执行彻底的退出 ......22
为什么我们需要MQ ..23
套接字的可扩展性 .........27
从MQ v2.2 升级到MQ v3.2
...............................28
警告:不稳定的典范! ..29
第2 章 套接字和模式 ........
31
套接字API .....................32
把套接字接入网络拓扑 .....................................32
使用套接字来传输数据 ......................................34
单播传输 .................35
MQ 不是一个中性载体 ....................................35
IO 线程 ...................36
消息传递模式 ................37
高级别消息传递模式 ..........................................38
处理消息 .................38
处理多个套接字 ......41
多部分消息 .............44
中间层及代理 ..........45
动态发现问题 ..........46
共享队列(DEALER 和ROUTER 套接字) .......48
MQ 的内置代理功能 .......................................53
传输桥接 .................55
处理错误和ETERM.......56
处理中断信号 ................61
检测内存泄漏 ................63
使用MQ 编写多线程程序 ......................................64
线程间信令(PAIR 套接字) .....................................69
节点协调 ........................71
零拷贝 ............................75
发布- 订阅消息封包 ......76
高水位标记 ....................78
消息丢失问题的解决方案 .........................................80
第3 章 高级请求- 应答模式 ......................................... 83
请求- 应答机制 .............83
简单的应答封包 ......84
扩展的应答封包 ......84
这有什么好处呢 ......87
请求- 应答套接字回顾 ......................................88
请求- 应答组合 .............88
REQ 到REP 组合 ....89
DEALER 到REP 组合 .......................................89
REQ 到ROUTER 组合 .......................................90
DEALER 到ROUTER 组合 ...............................90
DEALER 到DEALER 组合 ...............................90
ROUTER 到ROUTER 组合 ...............................90
无效组合 .................91
探索ROUTER 套接字 ...91
身份和地址 .............92
ROUTER 错误处理 .93
负载均衡模式 ................94
ROUTER 代理和REQ 工人 ...............................95
ROUTER 代理及DEALER 工人 ........................97
负载均衡的消息代理 ..........................................98
用于MQ 的一个高级别的API
............................. 105
高级别API 的特点 107
CZMQ 高级别API 108
异步客户端 服务器模式 ........................................ 115
能够工作的示例:跨代理路由 ............................... 120
建立详情 ............... 120
单集群架构 ........... 121
扩展到多个集群 .... 122
联盟与对等比较 .... 124
命名规范 ............... 126
状态流原型 ........... 127
本地流和云端流原型 ........................................ 130
总结 ....................... 137
第4 章 可靠的请求- 应答模式 .................................... 147
什么是“可靠性” ......... 147
可靠性设计 .................. 148
客户端可靠性(懒惰海盗模式) ............................. 149
基本可靠队列(简单海盗模式) ............................. 154
健壮的可靠队列(偏执海盗模式) .......................... 157
信号检测 ...................... 166
置若罔闻地将它关闭 ........................................ 166
单向信号检测 ........ 167
乒乓信号检测 ........ 167
针对偏执海盗的信号检测 ................................ 168
|
內容試閱:
|
序
ZeroMQ 是iMatix 开发的以消息为导向的开源中间件库,它类似于标准Berkeley 套接字,支持多种通信模式(扇出、发布- 订阅、任务分配和请求- 应答)和传输协议(进程内、进程间、TCP 和多播),可以用作一个并发框架。其核心由C 编写,支持C++、Java 等多种语言的API,能在大部分现代平台上运行。它的运行速度很快,其异步模型具有高可扩展性。ZeroMQ 中的Zero(零)代表简约并涵盖不同目标:零代理、零延迟、零管理、零成本等。
本书源自ZeroMQ 的参考手册,通过社区共同开发而成,数百人为本书做出了贡献,包括用各种编程语言编写的示例。本书也为运作一个成功的社区提供了范例。
值得一提的是,本书作者Pieter Hintjens 是iMatix 公司的首席执行官,他于2010 年被查出患了晚期癌症,动了多次手术并化疗6 个月,但2011 年仍然坚持继续完成这本书的写作。这种奋不顾身的专业精神值得我们学习。
感谢电子工业出版社计算机出版分社的张春雨编辑选择我们翻译本书,感谢刘舫编辑,她从专业的角度对译文进行了把关,并进行了许多润色,使之更具可读性。
感谢李绿霞、卢林、陈克非、李洪秋、张慧珍、李又及、卢晓瑶、陈克翠、汤有四、李阳、刘雯、贾书民、苏旭晖对本书翻译工作做出的贡献。
还要感谢我们的儿子卢〇一小朋友,他知道我们在翻译书稿就常常自己安静地读书和玩耍,还放弃了很多出去玩的机会,让我们能够专注于本书的翻译,本书的出版也有他的一份贡献。
最后希望这本书对读者有帮助。但由于译者经验和水平有限,译文中难免有不妥之处,恳请读者批评指正!
卢涛 李颖
2014 年12 月8 日
|
|