×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787121426537
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:240
  • 出版时间:2022-02-01
  • 条形码:9787121426537 ; 978-7-121-42653-7

本书特色

适读人群 :对云计算、大数据处理感兴趣的技术人员阅读,尤其适合对消息引擎、流式处理技术及框架感兴趣的技术人员1. 全面系统:包含Kafka完整生态,如Kafka Producer、Kafka Consumer、Kafka Server、Kafka Stream和ZooKeeper。2. 核心原理:通过图文详解Kafka的体系架构与运行机制。3. 实战部署:通过Step by Step的步骤演示Kafka生产环境的部署。4. 应用开发:包含Java和Scala应用开发示例。5. 流式计算:全面系统地介绍Kafka流处理框架Kafka Stream。6. 系统集成:Kafka与Flink、Storm、Spark和Flume集成。7. 运维监控:详解Kafka的监控参数和监控方式。8. 案例丰富:大量应用程序代码介绍Kafka程序开发。

内容简介

本书基于作者多年的教学与实践进行编写,重点介绍Kafka消息系统的核心原理与架构,内容涉及开发、运维、管理与架构。全书共11章,第1章,介绍Kafka体系架构基础,包括消息系统的基本知识、Kafka的体系架构与ZooKeeper;第2章,介绍Kafka的环境部署,以及基本的应用程序开发;第3章,介绍Kafka的生产者及其运行机制,包括生产者的创建和执行过程、生产者的消息发送模式和生产者的不错特性等;第4章,介绍Kafka的消费者及其运行机制,包括消费者的消费模式、消费者组与消费者、消费者的偏移量与提交及消费者的不错特性等;第5章,介绍Kafka服务器端的核心原理,包括主题与分区、消息的持久性与传输保障、Kafka配额与日志的管理;第6章,介绍Kafka的流处理引擎Kafka Stream;第7章,介绍使用不同的工具监控Kafka,包括Kafka Manager、Kafka Tool、KafkaOffsetMonitor和JConsole;第8章至第11章,介绍Kafka与外部系统的集成,包括集成Flink、集成Storm、集成Spark和集成Flume。

目录

第1章 Kafka体系架构基础 1
1.1 什么是消息系统 1
1.2 消息系统的分类 2
1.2.1 同步消息机制与异步消息机制 3
1.2.2 队列与主题 4
1.3 Kafka的体系架构 5
1.3.1 消息服务器 6
1.3.2 主题、分区与副本 6
1.3.3 生产者 7
1.3.4 消费者与消费者组 8
1.4 分布式协调服务ZooKeeper 9
1.4.1 ZooKeeper集群的架构 9
1.4.2 ZooKeeper的节点类型 10
1.4.3 ZooKeeper的观察机制 13
1.4.4 ZooKeeper的分布式锁 14
1.4.5 ZooKeeper在Kafka中的作用 17
1.5 准备实验环境 17
1.5.1 安装CentOS操作系统 17
1.5.2 配置CentOS操作系统 23
1.5.3 安装JDK 24

第2章 部署Kafka 25
2.1 部署ZooKeeper 25
2.1.1 ZooKeeper的核心配置文件 26
2.1.2 部署ZooKeeper的Standalone模式 28
2.1.3 部署ZooKeeper的集群模式 32
2.1.4 测试ZooKeeper集群 35
2.2 安装部署Kafka 36
2.2.1 单机单Broker的部署 40
2.2.2 单机多Broker的部署 42
2.2.3 多机多Broker的部署 43
2.2.4 使用命令行测试Kafka 44
2.3 Kafka配置参数详解 45
2.4 Kafka在ZooKeeper中保存的数据 46
2.5 开发客户端程序测试Kafka 47
2.5.1 开发Java版本的客户端程序 48
2.5.2 开发Scala版本的客户端程序 50

第3章 Kafka的生产者 53
3.1 Kafka生产者的执行过程 53
3.2 创建Kafka生产者 54
3.2.1 创建基本的消息生产者 54
3.2.2 发送自定义消息对象 55
3.3 生产者的消息发送模式 60
3.4 生产者的高级特性 61
3.4.1 生产者分区机制 61
3.4.2 生产者压缩机制 66
3.4.3 生产者拦截器 67
3.5 生产者的参数配置 71

第4章 Kafka的消费者 77
4.1 Kafka消费者的消费模式 77
4.1.1 消息的推送模式 77
4.1.2 消息的拉取模式 77
4.1.3 推送模式与拉取模式的区别 78
4.1.4 消息者组 78
4.2 创建Kafka消费者 79
4.2.1 创建基本的消息消费者 79
4.2.2 接收自定义消息对象 80
4.3 消费者与消费者组 82
4.3.1 消费者和消费者组与分区的关系 82
4.3.2 分区的重平衡 85
4.4 消费者的偏移量与提交 86
4.4.1 偏移量与重平衡 86
4.4.2 偏移量的提交方式 87
4.5 消费者的高级特性 90
4.5.1 消费者的分区策略 90
4.5.2 重平衡监听器 93
4.5.3 消费者的拦截器 95
4.5.4 消费者的优雅退出 97
4.6 消费者的参数配置 98

第5章 Kafka的服务器端 102
5.1 主题与分区 102
5.1.1 主题和分区的关系 102
5.1.2 主题的管理 103
5.1.3 使用KafkaAdminClient 109
5.2 消息的持久性 111
5.2.1 Kafka消息持久性概述 111
5.2.2 Kafka的持久化原理解析 112
5.2.3 持久化的读写流程 114
5.2.4 为什么要建立分段和索引 115
5.3 消息的传输保障 115
5.3.1 生产者的ack机制 115
5.3.2 消费者与高水位线 116
5.4 副本和Leader副本的选举 117
5.5 Kafka配额的管理 118
5.6 Kafka的日志删除与压缩 120
5.6.1 日志的删除 120
5.6.2 日志的压缩 120
5.6.3 清理的实现细节 120
5.7 Kafka与ZooKeeper 123
5.7.1 ZooKeeper扮演的角色 123
5.7.2 Kafka在ZooKeeper中存储的数据 124
5.8 服务器端参数设置 125

第6章 流处理引擎Kafka Stream 130
6.1 Kafka Stream的体系架构 130
6.1.1 为什么需要Kafka Stream 130
6.1.2 Kafka Stream的体系架构 131
6.1.3 执行Kafka Stream示例程序 132
6.2 开发自己的Kafka Stream应用程序 134
6.3 Kafka Stream中的数据模型 139
6.3.1 KStream与KTable 139
6.3.2 状态管理 141
6.4 Kafka Stream中的窗口计算 144
6.4.1 时间 144
6.4.2 窗口 145

第7章 监控Kafka 151
7.1 Kafka的监控指标 151
7.2 使用Kafka客户端监控工具 153
7.2.1 Kafka Manager 153
7.2.2 Kafka Tool 157
7.2.3 KafkaOffsetMonitor 162
7.2.4 JConsole 163
7.3 监控ZooKeeper 166

第8章 Kafka与Flink集成 168
8.1 Flink的体系架构 168
8.1.1 Flink中的数据集 168
8.1.2 Flink的生态圈体系 169
8.1.3 Flink的体系架构 171
8.2 安装部署Flink Standalone模式 172
8.2.1 Flink Standalone模式的部署 174
8.2.2 在Standalone模式上执行Flink任务 178
8.3 Flink DataSet API算子 181
8.4 Flink DataStream API算子 191
8.5 集成Flink与Kafka 196
8.5.1 将Kafka作为Flink的Source Connector 197
8.5.2 将Kafka作为Flink的Sink Connector 200

第9章 Kafka与Storm集成 203
9.1 离线计算与流式计算 203
9.2 Apache Storm的体系架构 205
9.3 部署Apache Storm 207
9.3.1 部署Storm的伪分布模式 209
9.3.2 部署Storm的全分布模式 213
9.3.3 Storm HA模式 216
9.4 执行Apache Storm任务 220
9.4.1 执行WordCountTopology 220
9.4.2 Storm的其他管理命令 224
9.5 开发自己的Storm任务 224
9.5.1 Storm Topology任务处理的数据模型 224
9.5.2 开发自己的WordCountTopology任务 226
9.6 集成Kafka与Storm 232
9.6.1 Storm从Kafka中接收数据 233
9.6.2 测试Kafka与Storm的集成 236
9.6.3 Storm将数据输出到Kafka 238

第10章 Kafka与Spark集成 240
10.1 Spark基础 240
10.1.1 Spark的特点 241
10.1.2 Spark的体系架构 242
10.2 安装部署Spark环境 243
10.2.1 伪分布模式的单节点环境部署 246
10.2.2 全分布模式的环境安装部署 248
10.3 执行Spark任务 249
10.3.1 使用spark-submit提交任务 249
10.3.2 交互式命令行工具spark-shell 251
10.4 Spark的核心编程模型 256
10.4.1 什么是RDD 256
10.4.2 RDD的算子 257
10.4.3 开发自己的WordCount程序 260
10.5 流式计算引擎Spark Streaming 264
10.5.1 什么是Spark Streaming 264
10.5.2 离散流 265
10.5.3 开发自己的Spark Streaming程序 266
10.6 集成Kafka与Spark Streaming 269
10.6.1 基于Receiver的方式 269
10.6.2 直接读取的方式 271

第11章 Kafka与Flume集成 274
11.1 Apache Flume基础 274
11.1.1 Apache Flume的体系架构 274
11.1.2 Apache Flume的安装和部署 278
11.2 Flume的Source组件 280
11.3 Flume的Channel组件 282
11.4 Flume的Sink组件 283
11.5 集成Kafka与Flume 287

展开全部

作者简介

赵渝强(赵强老师),18年以上的IT行业从业经历,清华大学计算机软件专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问,华为官方认证讲师,曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大数据、数据库、容器技术、中间件技术和Java技术。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航