RabbitM 朱忠华著 穹手王't.~也属祉· Publishing House of Electronics Industry 北 京 'BEIJING 内容简介 本书从消息中间件的概念和RabbitMQ 的历史切入, 主要阐述RabbitMQ 的安装、使用、配置、管理、 运 维、原理、扩展等方面的细节。本书大致可以分为基础篇、进阶篇和高阶篇三个部分。基础篇首先介绍 RabbitMQ 的基本安装及使用方式,方便零基础的读者以最舒适的方式融入到RabbitMQ 之中。其次介绍 RabbitMQ 的基 本概念,包括生产者、消费者、交换器、队列、绑定等。之后通过 Java 语言讲述了客户端如何与 RabbitMQ 建立(关闭〉连接、声明(删除)交换器、队列、绑定关系,以及如何发送和消费消息等。进阶篇讲述 RabbitMQ 的 TIL、死信、延迟队列、优先级队列、 RPC 、消息持久化、生产端和消费端的消息确认机制等内容,以期 读者能够掌握 RabbitMQ 的使用精髓。本书中间篇幅主要从RabbitMQ 的管理、配置、运维这三个角度来为读 者提供帮助文档及解决问题的思路。高阶篇主要阐述 RabbitMQ 的存储机制、流控及镜像队列的原理,深入 地讲述RabbitMQ 的一些实现细节,便于读者加深对 RabbitMQ 的理解。本书还涉及网络分区的概念,此内 容 可称为魔鬼篇,需要掌握前面的所有内容才可理解其中的门道。本书最后讲述的是 RabbitMQ 的一些扩展内 容及附录,供读者参考之用。 本书既可供初学者学习,帮助读者了解RabbitMQ 的具体细节及使用方式、原理等,也可供相关开发、测试 及运维人员参考,给日常工作带来启发。 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。 版权所有,侵权必究。 图书在版编目 CCIP) 数据 RabbitMQ 实战指南/朱忠华著一北京:电子工业出版社. 2017.11 ISBN 978-7-121-32991-3 1. (R … II. ①朱… 皿①'JAVA 语言一曲字设计一指南 IV. ( TP312.8-62 中国版本图书馆 CIP 数据核字 (2017) 第 264324 号 责任编辑:陈晓猛 印 刷: 三河市华成印务有限公司 装 订:三河市华成印务有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱邮编 开 本: 787 x 980 1/16 印张: 2 1.75 版 次: 2017 年 11 月第 1 版 印 次: 2017 年 11 月第 l 次印刷 100036 字数: 417 千字 定价: 79.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换 。若书店售缺,请与本社发行部联 系,联系 及邮购电话: ( 010) 88254888. 88258888 。 质量投诉请发邮件至 zlts@phei.com.cn. 盗版侵权举报请发邮件至 dbqq@phei.com.cn o 本书咨询联系方式: 010-51260888-819. fi叫@phei.∞m.cn 。 目。 初识RabbitMQ 时,我在网上搜寻了大量的相关资料以求自己能够快速地理解它,但是这些资 料零零散散而又良葬不齐。后来又寄希望于RabbitMQ 的相关书籍,或许是它们都非出自国人之手, 里面的陈述逻辑和案例描述都不太符合我自己的思维习惯。最后选择从头开始自研RabbitMQ ,包括 阅读相关源码、翻阅宫网的资料以及进行大量的实验等。 平时我也有写博客的习惯,通常在工作中遇到问题时会结合所学的知识整理成文。随着一篇篇 的积累,也有好几十篇的内容,渐渐地也就有了编撰成书的想法。 本书动笔之时我曾信心满满,以为能够顺其自然地完成这本书,但是写到四分之一时,发现并 没有想象中的那么简单。怎样才能让理解领悟汇聚成通俗易懂的文字表达?怎样才能让书中内容前 后贯通、由浅入深地阐述?有些时候可能知道怎样做、为什么这么做,而没有反思其他情形能不能 做、怎样做。为了解决这些问题,我会反复对书中的内容进行选代,对某些模糊的知识点深耕再深 耕,对某些案例场景进行反复的测试,不断地完善。 在本书编写之时,我常常回想当初作为小白之时迫切地希望能够了解哪些内容,这些内容又希 望以怎样的形式展现。所以本书前面几章的内容基本上是站在一个小白的视角来为读者做一个细腻 的讲解,相信读者在阅读完这些内容之后能够具备合理使用RabbitMQ 的能力。在后面的章节中知 识点会慢慢地深入,每阅读一章的内容都会对RabbitMQ 有一个更加深刻的认知。 本书中的所有内容都具备理论基础井全部实践过,书中的内容也是我在工作中的实践积累,希 望本书能够让初学者对RabbitMQ 有一个全面的认知,也希望有相关经验的人士可以从本书中得到 RabbitMQ 实战指南 一些启发,汲取一些经验。 内容大纲 本书共 11 章,前后章节都有相关的联系,基本上按照由浅入深、由表及里的层次逐层进行讲解。 如果读者对其中的某些内容己经掌握,可以选择跳过而翻阅后面的内容,不过还是建议读者按照先 后顺序进行阅读。 第 1 章主要针对消息中间件做一个摘要性介绍,包括什么是消息中间件、消息中间件的作用及 特点等。之后引入 RabbitMQ ,对其历史和相关特点做一个简要概述。本章最后介绍RabbitMQ 的安 装及生产、消费的使用示例。 第 2 章主要讲述RabbitMQ 的入门知识,包括生产者、消费者、队列、交换器、路由键、绑定、 连接及信道等基本术语。本章还阐述了RabbitMQ 与 AMQP 协议的对应关系 。 第 3 章主要介绍RabbitMQ 客户端开发的简单使用,按照一个生命周期对连接、创建、生产、 消费及关闭等几个方面进行宏观的介绍。 第 4 章介绍数据可靠性的一些细节,井展示 RabbitMQ 的几种己具备或衍生的高级特性,包括 πL 、死信队列、延迟队列、优先级队列、 RPC 等,这些功能在实际使用中可以让某些应用的实现 变得事半功倍。 第 5 章主要围绕RabbitMQ 管理这个主题展开,包括多租户、权限、用户、应用和集群管理、 服务端状态等方面,井且从侧面讲述 rabbitmqctl 工具和 rabbitmq_management 插件的使用 。 第 6 章主要讲述RabbitMQ 的配置,以此可以通过环境变量、配置文件、运行时参数(和策略) 等三种方式来定制化相应的服务。 第 7 章主要围绕运维层面展开论述,主要包括集群搭建、日志查看、故障恢复、集群迁移、集 群监控这几个方面。 第 8 章主要讲述 Federation 和 Shovel 这两个插件的使用、细节及相关原理 。 区别于第 7 章中集 群的部署方式, Federation 和 Shovel 可以部署在广域网中,为Rabb灿tlQ 提供更广泛的应用空间。 第 9 章介绍 RabbitMQ 相关的一些原理,主要内容包括RabbitMQ 存储机制、磁盘和内存告警、 流控机制、镜像队列。了解这些实现的细节及原理十分必要,它们可以让读者在遇到问题时能够透 过现象看本质 。 • IV. 目 IJ a 第 10 章主要围绕网络分区进行展开,具体阐述网络分区的意义,如何查看和处理网络分区,以 及网络分区所带来的影响。 第 11 章主要探讨RabbitMQ 的两个扩展内容:消息追踪及负载均衡。消息追踪可以有效地定位 消息丢失的问题。负载均衡本身属于运维层面,但是负载均衡一般需要借助第三方的工具 一-HAProxy、 LVS 等实现,故本书将其视为扩展内容。 读者讨论 由于作者水平有限,书中难免有错误之处。在本书出版后的任何时间,若你对本书有任何的疑问, 都可以通过 zhuzhonghua.id四l@qq.∞m 发送邮件给作者,也可以到作者的个人博客 h即灿log.csdn.netluO 13256816 留言 ,向作者阐述你的建议和想法。如若4好U相关信息,作者都会回复。 致谢 首先要感谢我身处的平台,让我有机会深入地接触RabbitMQ 。同时也要感谢我身边的同事,正 因为有了你们的鼓励和帮助,才让我能够迅速成长,本书的问世,离不开与你们在工作中积累的点 点滴滴。 感谢在我博客中提问、留言的网友,有了你们的意见和建议才能让本书更加完善。 感谢博文视点的编辑们,本书能够顺利、迅速地出版,多亏了你们的敬业精神和一丝不苟的工 作态度。 最后还要感谢我的家人,在我占用绝大部分的业余时间进行写作的时候,能够给予我极大的宽 容、理解和支持,让我能够全身心地投入到写作之中。 朱忠华 .v. RabbitMQ 实战指南 '读者服务…, 轻松注册成为博文视点社区用户( www.broadview.∞皿cn) ,扫码直达本书页面。 • 提交勘误:您对书中内容的修改意见可在主主盘亟处提交,若被采纳,将获赠博文视点社区 积分(在您购买电子书时,积分可用来抵扣相应金额)。 • 交流互动:在页面下方主主主主处留下您的疑问或观点,与我们和其他读者一 同学习交流。 页面入口 :h即 ://www.broadview.com.cnl32991 回回回回 回蠕J曾 • Vl o:. 目录 第 1 章 RabbitMQ 简介 … … ……… .. 1.1 什么是消息中间件 .. 1.2 消息中间件的作用………….. 1.3 RabbitMQ 的起源 ……… …… …………………… … …………… …… ………… ……… '4 1.4 RabbitMQ 的安装及简单使用 ……………........………..……..... . ……….......… 6 1.4 .1 安装 Erlang …….................. . .... ....... .... ... . . . . . . ... . ......... .. … …… …… …… …… . 7 1.4 .2 RabbitMQ 的安装…… 1.5 第 2章 2 .1 1. 4.3 RabbitMQ 的运才于 ………… E ………………………. .… .. .. ... .. .. . ... . . . . .. .... . . 1.4.4 生产和消费消息……………………………… - 小结… ………………… · ……………………… ' 10 ………………… ……………… ……………… " 14 RabbitMQ 入门………. .. . . . .… .. .... . . ..... .…… ……………….. ………………....
RabbitMQ实战指南
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
本文档由 user 于 2020-12-27 08:11:58上传分享