ZeroMQ:云时代极速消息通信库
副标题:无
分类号:
ISBN:9787121253119
微信扫一扫,移动浏览光盘
简介
《ZeroMQ:云时代极速消息通信库》介绍ZeroMQ的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ编程技术构建多线程应用程序,并创建自己的消息传递架构。《ZeroMQ:云时代极速消息通信库》设计了大量工作实例来实现请求-应答模式的高级使用和容错性,并对发布-订阅模式的性能、可靠性、状态分发与监控进行了扩展。 《ZeroMQ:云时代极速消息通信库》面向的读者是希望制作大规模分布式软件的专业程序员和有志于这方面研究的专业人士,旨在帮助他们解决大规模、可扩展、低成本、高效率的问题,书中还展现了ZeroMQ所需的网络和分布式计算概念。
目录
前言
第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的故事
本书是如何诞生的
消除摩擦
许可
索引
第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的故事
本书是如何诞生的
消除摩擦
许可
索引
ZeroMQ:云时代极速消息通信库
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×