编辑推荐
Kafka最初是由LinkedIn公司开发的消息系统,现在已成为Apache的开源项目。早期版本的Kafka主要是作为一个分布式、可分区和具有副本的消息系统,随着版本的不断迭代,在0.10.x版本之后Kafka已成为一个分布式流数据处理平台,特别是KafkaStreams的出现,使得Kafka对流数据处理变得更加简单。
Kafka发展至今已具备很多特性,如分布式、高吞吐量、低延迟、高水平扩展性、高容错性等,也正是由于Kafka具备这些特性,使Kafka在大数据处理、日志收集、实时监控、离线统计分析等应用场景都被广泛使用。
本书内容按照从抽象到具体、从点到线再到面的学习思维模式进行编排,由浅入深、理论与实践相结合地对Kafka进行了讲解和分析。剖析Kafka实现原理时,Kafka核心组件各成一节;讲解Kafka基本操作及应用实践时,从简单操作拓展到高级应用。全书的各章之间没有很强的依赖关系,读者可以从其中任何一章开始阅读。
本书虽适合作为入门书籍,但其内容丰富又不失深度,既深入剖析了Kafka核心原理,又侧重实际操作实战。阅读本书读者不仅可以掌握如何应用Kafka,更重要的是还可以了解Kafka性能优化和Kafka相关功能改造方面的方法和理论。
本书是基于Kafka的0.10.1.1版本编写的。
内容简介
《Kafka入门与实践》以Kafka 0.10.1.1版本以基础,对Kafka的基本组件的实现细节及其基本应用进行了详细介绍,同时,通过对Kafka与当前大数据主流框架整合应用案例的讲解,进一步展现了Kafka在实际业务中的作用和地位。本书共10章,按照从抽象到具体、从点到线再到面的学习思维模式,由浅入深,理论与实践相结合,对Kafka进行了分析讲解。
《Kafka入门与实践》中的大量实例来源于作者在实际工作中的实践,具有现实指导意义。相信读者阅读完本书之后,能够全面掌握Kafka的基本实现原理及其基本操作,能够根据书中的案例举一反三,解决实际工作和学习中的问题。此外,在阅读本书时,读者可以根据本书对Kafka理论的分析,再结合Kafka源码进行定位学习,了解Kafka的设计和思想以及更多的编码技巧。
《Kafka入门与实践》适合应用Kafka的专业技术人员阅读,包括但不限于大数据相关应用的开发者、运维者和爱好者,也适合高等院校、培训结构相关专业的师生使用。
作者简介
牟大恩,武汉大学硕士,曾先后在网易杭州研究院、掌门科技、优酷土豆集团担任高级开发工程师和资深开发工程师职务,目前就职于海通证券总部。有多年的Java开发及系统设计经验,专注于互联网金融及大数据应用相关领域。
目录
第1章 Kafka简介 1
1.1 Kafka背景 1
1.2 Kafka基本结构 2
1.3 Kafka基本概念 2
1.4 Kafka设计概述 6
1.4.1 Kafka设计动机 6
1.4.2 Kafka特性 6
1.4.3 Kafka应用场景 8
1.5 本书导读 9
1.6 小结 9
第2章 Kafka安装配置 11
2.1 基础环境配置 11
2.1.1 JDK安装配置 11
2.1.2 SSH安装配置 13
2.1.3 ZooKeeper环境 15
2.2 Kafka单机环境部署 18
2.2.1 Windows环境安装Kafka 19
2.2.2 Linux环境安装Kafka 19
2.3 Kafka伪分布式环境部署 21
2.4 Kafka集群环境部署 22
2.5 Kafka Manager安装 22
2.6 Kafka源码编译 25
2.6.1 Scala安装配置 25
2.6.2 Gradle安装配置 26
2.6.3 Kafka源码编译 26
2.6.4 Kafka导入Eclipse 30
2.7 小结 31
第3章 Kafka核心组件 33
3.1 延迟操作组件 33
3.1.1 DelayedOperation 33
3.1.2 DelayedOperationPurgatory 35
3.1.3 DelayedProduce 36
3.1.4 DelayedFetch 38
3.1.5 DelayedJoin 38
3.1.6 DelayedHeartbeat 39
3.1.7 DelayedCreateTopics 40
3.2 控制器 40
3.2.1 控制器初始化 41
3.2.2 控制器选举过程 46
3.2.3 故障转移 48
3.2.4 代理上线与下线 49
3.2.5 主题管理 51
3.2.6 分区管理 54
3.3 协调器 58
3.3.1 消费者协调器 58
3.3.2 组协调器 60
3.4 网络通信服务 64
3.4.1 Acceptor 65
3.4.2 Processor 66
3.4.3 RequestChannel 68
3.4.4 SocketServer启动过程 69
3.5 日志管理器 70
3.5.1 Kafka日志结构 70
3.5.2 日志管理器启动过程 77
3.5.3 日志加载及恢复 79
3.5.4 日志清理 80
3.6 副本管理器 84
3.6.1 分区 86
3.6.2 副本 88
3.6.3 副本管理器启动过程 89
3.6.4 副本过期检查 90
3.6.5 追加消息 92
3.6.6 拉取消息 95
3.6.7 副本同步过程 97
3.6.8 副本角色转换 99
3.6.9 关闭副本 101
3.7 Handler 103
3.8 动态配置管理器 104
3.9 代理健康检测 106
3.10 Kafka内部监控 107
3.11 小结 110
第4章 Kafka核心流程分析 111
4.1 KafkaServer启动流程分析 111
4.2 创建主题流程分析 115
4.2.1 客户端创建主题 115
4.2.2 分区副本分配 117
4.3 生产者 121
4.3.1 Eclipse运行生产者源码 121
4.3.2 生产者重要配置说明 123
4.3.3 OldProducer执行流程 124
4.3.4 KafkaProducer实现原理 127
4.4 消费者 140
4.4.1 旧版消费者 140
4.4.2 KafkaConsumer初始化 140
4.4.3 消费订阅 144
4.4.4 消费消息 145
4.4.5 消费偏移量提交 149
4.4.6 心跳探测 150
4.4.7 分区数与消费者线程的关系 151
4.4.8 消费者平衡过程 153
4.5 小结 154
第5章 Kafka基本操作实战 155
5.1 KafkaServer管理 155
5.1.1 启动Kafka单个节点 155
5.1.2 启动Kafka集群 159
5.1.3 关闭Kafka单个节点 160
5.1.4 关闭Kafka集群 161
5.2 主题管理 162
5.2.1 创建主题 162
5.2.2 删除主题 164
5.2.3 查看主题 165
5.2.4 修改主题 166
5.3 生产者基本操作 168
5.3.1 启动生产者 168
5.3.2 创建主题 169
5.3.3 查看消息 170
5.3.4 生产者性能测试工具 170
5.4 消费者基本操作 174
5.4.1 消费消息 174
5.4.2 单播与多播 179
5.4.3 查看消费偏移量 181
5.4.4 消费者性能测试工具 183
5.5 配置管理 183
5.5.1 主题级别配置 184
5.5.2 代理级别设置 185
5.5.3 客户端/用户级别配置 187
5.6 分区操作 188
5.6.1 分区Leader平衡 188
5.6.2 分区迁移 190
5.6.3 增加分区 194
5.6.4 增加副本 195
5.7 连接器基本操作 198
5.7.1 独立模式 198
5.7.2 REST风格API应用 201
5.7.3 分布式模式 204
5.8 Kafka Manager应用 209
5.9 Kafka安全机制 211
5.9.1 利用SASL/PLAIN进行身份认证 212
5.9.2 权限控制 215
5.10 镜像操作 218
5.11 小结 219
第6章 Kafka API编程实战 221
6.1 主题管理 222
6.1.1 创建主题 222
6.1.2 修改主题级别配置 223
6.1.3 增加分区 224
6.1.4 分区副本重分配 224
6.1.5 删除主题 225
6.2 生产者API应用 225
6.2.1 单线程生产者 226
6.2.2 多线程生产者 231
6.3 消费者API应用 233
6.3.1 旧版消费者API应用 233
6.3.2 新版消费者API应用 239
6.4 自定义组件实现 247
6.4.1 分区器 247
6.4.2 序列化与反序列化 249
6.5 Spring与Kafka整合应用 257
6.5.1 生产者 259
6.5.2 消费者 263
6.6 小结 266
第7章 Kafka Streams 267
7.1 Kafka Streams简介 267
7.2 Kafka Streams基本概念 268
7.2.1 流 268
7.2.2 流处理器 268
7.2.3 处理器拓扑 268
7.2.4 时间 269
7.2.5 状态 270
7.2.6 KStream和KTable 270
7.2.7 窗口 271
7.3 Kafka Streams API介绍 272
7.3.1 KStream与KTable 272
7.3.2 窗口操作 274
7.3.3 连接操作 275
7.3.4 变换操作 277
7.3.5 聚合操作 279
7.4 接口恶意访问自动检测 281
7.4.1 应用描述 281
7.4.2 具体实现 282
7.5 小结 285
第8章 Kafka数据采集应用 287
8.1 Log4j集成Kafka应用 287
8.1.1 应用描述 287
8.1.2 具体实现 287
8.2 Kafka与Flume整合应用 289
8.2.1 Flume简介 290
8.2.2 Flume与Kafka比较 291
8.2.3 Flume的安装配置 291
8.2.4 Flume采集日志写入Kafka 293
8.3 Kafka与Flume和HDFS整合应用 294
8.3.1 Hadoop安装配置 295
8.3.2 Flume采集Kafka消息写入HDFS 298
8.4 小结 301
第9章 Kafka与ELK整合应用 303
9.1 ELK环境搭建 304
9.1.1 Elasticsearch安装配置 304
9.1.2 Logstash安装配置 307
9.1.3 Kibana安装配置 308
9.2 Kafka与Logstash整合 309
9.2.1 Logstash收集日志到Kafka 309
9.2.2 Logstash从Kafka消费日志 310
9.3 日志采集分析系统 312
9.3.1 Flume采集日志配置 312
9.3.2 Logstash拉取日志配置 313
9.3.3 Kibana日志展示 314
9.4 服务器性能监控系统 315
9.4.1 Metricbeat安装 316
9.4.2 采集信息存储到Elasticsearch 316
9.4.3 加载beats-dashboards 318
9.4.4 服务器性能监控系统具体实现 318
9.5 小结 321
第10章 Kafka与Spark整合应用 323
10.1 Spark简介 323
10.2 Spark基本操作 324
10.2.1 Spark安装 325
10.2.2 Spark shell应用 326
10.2.3 spark-submit提交作业 327
10.3 Spark在智能投顾领域应用 328
10.3.1 应用描述 328
10.3.2 具体实现 329
10.4 热搜词统计 334
10.4.1 应用描述 334
10.4.2 具体实现 335
10.5 小结 340
Kafka入门与实践 epub pdf mobi txt 电子书 下载 2024
Kafka入门与实践 下载 epub mobi pdf txt 电子书 2024
评分
☆☆☆☆☆
质量不错,好好学习,充电
评分
☆☆☆☆☆
物流速度快,快递小哥服务态度好
评分
☆☆☆☆☆
只怨俺们以前书读少了,现在疯了恶补……
评分
☆☆☆☆☆
商品质量好,送货速度快,支持京东
评分
☆☆☆☆☆
在书店看上了这本书一直想买可惜太贵又不打折,回家决定上京东看看,果然有折扣。毫不犹豫的买下了,京东速度果然非常快的,从配货到送货也很具体,快递非常好,很快收到书了。书的包装非常好,没有拆开过,非常新,可以说无论自己阅读家人阅读,收藏还是送人都特别有面子的说,特别精美;各种十分美好虽然看着书本看着相对简单,但也不遑多让,塑封都很完整封面和封底的设计、绘图都十分好画让我觉得十分细腻具有收藏价值。书的封套非常精致推荐大家购买。 打开书本,书装帧精美,纸张很干净,文字排版看起来非常舒服非常的惊喜,让人看得欲罢不能,每每捧起这本书的时候 似乎能够感觉到作者毫无保留的把作品呈现在我面前。 作业深入浅出的写作手法能让本人犹如身临其境一般,好似一杯美式咖啡,看似快餐,其实值得回味 无论男女老少,第一印象最重要。”从你留给别人的第一印象中,就可以让别人看出你是什么样的人。 最后在好评一下京东客服服务态度好,送货相当快,包装仔细!这个也值得赞美下 希望京东这样保持下去,越做越好
评分
☆☆☆☆☆
价格便宜量又足,量足价格又便宜。价格便宜量又足,量足价格又便宜。价格便宜量又足,量足价格又便宜。价格便宜量又足,量足价格又便宜。价格便宜量又足,量足价格又便宜。价格便宜量又足,量足价格又便宜。
评分
☆☆☆☆☆
都是学习必备的工具书,适合人手一本,不错
评分
☆☆☆☆☆
不错,作者讲的基础非常细,对于入门和只需要了解的岗位非常适合
评分
☆☆☆☆☆
配送很速度,值得信赖。