RabbitMQ in Depth
Tags
Summary
Editor's review
Who it's for
A good fit for
- 已经会用 RabbitMQ 收发消息,想弄清 AMQP 协议与内部机制的后端开发者
- 正在设计微服务或分布式系统、需要选型消息中间件的架构师
- 负责 RabbitMQ 部署与排障,希望系统掌握集群与跨机房方案的运维人员
- 计算机相关专业研究生、本科生,作为消息中间件课程或项目的参考读物
Not a good fit for
- 完全没接触过消息队列、需要手把手入门的零基础读者
- 只想找一本与当前 RabbitMQ 最新版本配置项严格对应的速查手册的人
- 不写代码、只关心业务产品设计的产品与运营人员
Reading tips
- 先读第 1、2 章建立 AMQP 协议与帧结构的整体印象,再进入消息属性章节,避免被细节淹没。
- 把附录的环境搭建做一遍,用 Vagrant 起本地集群,边读边跑第 3 至 6 章的示例,效果远胜纯阅读。
- 第 3 章的消息属性建议做成自己的速查表,与项目里实际使用的属性逐条对照。
- 书中版本较早,读到集群、流控相关内容时同步查阅 RabbitMQ 官方文档,标注差异再落地。
About the publisher
The Publishing House of Electronics Industry is a comprehensive publisher distinguished by its focus on electronic information and related fields. Judging from the more than 3,000 titles in its catalogue, its publishing covers programming and design, artificial intelligence, computer science, finance and economics, photography, and social sciences, attending both to cutting-edge technology and to general readers. Representative titles include Factor Investing: Methods and Practice, x86 Assembly Language: From Real Mode to Protected Mode, The RISC-V Reader, Artificial Intelligence: Speech Recognition, Understanding and Practice, Phased Array Radar Technology, Radar Target Characteristics, and 100 Go Mistakes and How to Avoid Them, most of which centre on technical methods and engineering practice. Its authors include Shi Chuan, Li Zhong, Wang Xiaobo, David Patterson, Andrew Waterman, and Yu Zihao, among others from China and abroad. Owing to limited public information, no further publishing features are elaborated here.
Contents
- Translator's Preface
- Foreword
- Acknowledgments
- About This Book
- Part 1 RabbitMQ and Application Architecture
- Chapter 1 RabbitMQ Basics
- 1.1 RabbitMQ Features and Benefits
- 1.2 Who Uses RabbitMQ and How
- 1.3 The Advantages of Loosely Coupled Architectures
- 1.4 Summary
- Chapter 2 Interacting with Rabbit Using the AMQP Protocol
- 2.1 AMQP as an RPC Transport Mechanism
- 2.2 The AMQP RPC Frame Structure
- 2.3 Using the Protocol
- 2.4 Writing a Message Publisher in Python
- 2.5 Getting Messages from RabbitMQ
- 2.6 Summary
- Chapter 3 Message Properties in Detail
- 3.1 Using Properties Appropriately
- 3.2 Using the content-type Property to Create an Explicit Message Contract
- 3.3 Compressing Message Size with gzip and the content-encoding Property
- 3.4 Using message-id and correlation-id to Reference Messages
- 3.5 Creation Time: The timestamp Property
- 3.6 Automatic Message Expiration
- 3.7 Using delivery-mode to Balance Speed and Safety
- 3.8 Using app-id and user-id to Verify Message Origin
- 3.9 Using the type Property to Get Details
- 3.10 Using the reply-to Property to Implement Dynamic Workflows
- 3.11 Using Message Headers for Custom Properties
- 3.12 The Priority Property
- 3.13 Properties You Cannot Use: cluster-id/reserved
- 3.14 Summary
- Chapter 4 Performance Trade-offs in Publishing Messages
- 4.1 Balancing Delivery Speed and Reliable Delivery
- 4.2 RabbitMQ Back Pressure
- 4.3 Summary
- Chapter 5 Consuming Messages, Avoiding Pulling
- 5.1 Comparing Basic.Get and Basic.Consume
- 5.2 Optimizing Consumer Performance
- 5.3 Rejecting Messages
FAQ
这本书和《RabbitMQ实战指南》有什么区别?
零基础能直接读这本书吗?
书里的例子用什么语言写?
内容是否已经过时?
书里讲的集群方案适用于多机房吗?
Comments
Find this book
This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.
About the author
Gavin M. Roy is a computer technology author about whom limited public information is available; his nationality, dates of birth and death, and personal background are not clearly recorded. According to the library's holdings, the work through which Chinese readers can encounter him is Deep Dive into RabbitMQ, a technical book categorized under computer science and programming design that focuses on message-oriented middleware. In this single work, Roy's writing centers on the practical use of RabbitMQ, emphasizing the combination of messaging concepts, configuration, and development practice, with an operational tone suited to developers who need to understand or get started with the technology. Given the available materials, a fuller assessment of his overall body of work and stylistic development is difficult, yet through Deep Dive into RabbitMQ alone he has offered Chinese-language technical readers a concrete and practical point of entry that they can use as needed.