科技
类型
6.0
豆瓣评分
可以朗读
语音朗读
129千字
字数
2018-06-01
发行日期
展开全部
主编推荐语
本书是一本非常具有实战意义的手册,可以帮助工程师快速了解RocketMQ并展开实操。
内容简介
全书共13章,分为两个部分。第一部分是RocketMQ实战,包括第1~8章。第1章是快速入门,让读者了解分布式消息队列的功能,了解RocketMQ,能够搭建好单机版的消息队列,收发消息;第2章是让读者快速地把消息队列用好,应用到生产环境中;第3章具体介绍不同类型生产者和消费者的特点,以及和它们相关的Offset和Log;第4章介绍了分布式消息队列的协调者NameServer,NameServer维护集群的配置信息、状态信息,其他角色都通过NameServer来协同执行;第5章介绍了RocketMQ的内部机制,包括接收Producer发过来的消息、处理Consumer的消费请求、消息的持久化存储、消息的HA机制以及服务端过滤功能等;第6章讨论可靠性,解决如何让消息队列在满足业务逻辑需求的同时稳定、可靠地长期运行。第7章讨论在大流量场景下,吞吐量优先时RocketMQ的使用方法;第8章介绍RocketMQ和其他系统对接的方法。第二部分包括第9~13章,对RocketMQ的源码进行了深入分析,读者通过这些源码分析,可以快速定制自己的特殊功能。
目录
- 版权信息
- 推荐序
- 前言
- 第1章 快速入门
- 1.1 消息队列功能介绍
- 1.1.1 应用解耦
- 1.1.2 流量消峰
- 1.1.3 消息分发
- 1.2 RocketMQ简介
- 1.3 快速上手RocketMQ
- 1.3.1 RocketMQ的下载、安装和配置
- 1.3.2 启动消息队列服务
- 1.3.3 用命令行发送和接收消息
- 1.3.4 关闭消息队列
- 1.4 本章小结
- 第2章 生产环境下的配置和使用
- 2.1 RocketMQ各部分角色介绍
- 2.2 多机集群配置和部署
- 2.2.1 启动多个NameServer和Broker
- 2.2.2 配置参数介绍
- 2.3 发送/接收消息示例
- 2.4 常用管理命令
- 2.5 通过图形界面管理集群
- 2.6 本章小结
- 第3章 用适合的方式发送和接收消息
- 3.1 不同类型的消费者
- 3.1.1 DefaultMQPushConsumer的使用
- 3.1.2 DefaultMQPushConsumer的处理流程
- 3.1.3 DefaultMQPushConsumer的流量控制
- 3.1.4 DefaultMQPullConsumer
- 3.1.5 Consumer的启动、关闭流程
- 3.2 不同类型的生产者
- 3.2.1 DefaultMQProducer
- 3.2.2 发送延迟消息
- 3.2.3 自定义消息发送规则
- 3.2.4 对事务的支持
- 3.3 如何存储队列位置信息
- 3.4 自定义日志输出
- 3.5 本章小结
- 第4章 分布式消息队列的协调者
- 4.1 NameServer的功能
- 4.1.1 集群状态的存储结构
- 4.1.2 状态维护逻辑
- 4.2 各个角色间的交互流程
- 4.2.1 交互流程源码分析
- 4.2.2 为何不用ZooKeeper
- 4.3 底层通信机制
- 4.3.1 Remoting模块
- 4.3.2 协议设计和编解码
- 4.3.3 Netty库
- 4.4 本章小结
- 第5章 消息队列的核心机制
- 5.1 消息存储和发送
- 5.2 消息存储结构
- 5.3 高可用性机制
- 5.4 同步刷盘和异步刷盘
- 5.5 同步复制和异步复制
- 5.6 本章小结
- 第6章 可靠性优先的使用场景
- 6.1 顺序消息
- 6.1.1 全局顺序消息
- 6.1.2 部分顺序消息
- 6.2 消息重复问题
- 6.3 动态增减机器
- 6.3.1 动态增减NameServer
- 6.3.2 动态增减Broker
- 6.4 各种故障对消息的影响
- 6.5 消息优先级
- 6.6 本章小结
- 第7章 吞吐量优先的使用场景
- 7.1 在Broker端进行消息过滤
- 7.1.1 消息的Tag和Key
- 7.1.2 通过Tag进行过滤
- 7.1.3 用SQL表达式的方式进行过滤
- 7.1.4 Filter Server方式过滤
- 7.2 提高Consumer处理能力
- 7.3 Consumer的负载均衡
- 7.3.1 DefaultMQPushConsumer的负载均衡
- 7.3.2 DefaultMQPullConsumer的负载均衡
- 7.4 提高Producer的发送速度
- 7.5 系统性能调优的一般流程
- 7.6 本章小结
- 第8章 和其他系统交互
- 8.1 在SpringBoot中使用RocketMQ
- 8.1.1 直接使用
- 8.1.2 通过Spring Messaging方式使用
- 8.2 直接使用云上RocketMQ
- 8.3 RocketMQ与Spark、Flink对接
- 8.4 自定义开发运维工具
- 8.4.1 开源版本运维工具功能介绍
- 8.4.2 基于Tools模块开发自定义运维工具
- 8.5 本章小结
- 第9章 首个Apache中间件顶级项目
- 9.1 RocketMQ的前世今生
- 9.2 Apache顶级项目(TLP)之路
- 9.3 源码结构
- 9.4 不断迭代的代码
- 9.5 本章小结
- 第10章 NameServer源码解析
- 10.1 模块入口代码的功能
- 10.1.1 入口函数
- 10.1.2 解析命令行参数
- 10.1.3 初始化NameServer的Controller
- 10.2 NameServer的总控逻辑
- 10.3 核心业务逻辑处理
- 10.4 集群状态存储
- 10.5 本章小结
- 第11章 最常用的消费类
- 11.1 整体流程
- 11.1.1 上层接口类
- 11.1.2 DefaultMQPushConsumer的实现者
- 11.1.3 获取消息逻辑
- 11.2 消息的并发处理
- 11.2.1 并发处理过程
- 11.2.2 ProcessQueue对象
- 11.3 生产者消费者的底层类
- 11.3.1 MQClientInstance类的创建规则
- 11.3.2 MQClientInstance类的功能
- 11.4 本章小结
- 第12章 主从同步机制
- 12.1 同步属性信息
- 12.2 同步消息体
- 12.3 sync_master和async_master
- 12.4 本章小结
- 第13章 基于Netty的通信实现
- 13.1 Netty介绍
- 13.2 Netty架构总览
- 13.2.1 重新实现ByteBuffer
- 13.2.2 统一的异步I/O接口
- 13.2.3 基于拦截链模式的事件模型
- 13.2.4 高级组件
- 13.3 Netty用法示例
- 13.3.1 Discard服务器
- 13.3.2 查看收到的数据
- 13.4 RocketMQ基于Netty的通信功能实现
- 13.4.1 顶层抽象类
- 13.4.2 自定义协议
- 13.4.3 基于Netty的Server和Client
- 13.5 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。