Apache Kafka实战

Apache Kafka实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

大数据时代Kafka引擎优势:高吞吐量、高扩展性流式处理。

内容简介

本书是涵盖Apache Kafka各方面的具有实践指导意义的工具书和参考书。作者结合典型的使用场景,对Kafka整个技术体系进行了较为全面的讲解,以便读者能够举一反三,直接应用于实践。同时,本书还对Kafka的设计原理及其流式处理组件进行了较深入的探讨,并给出了翔实的案例。

本书共分为10章:第1章全面介绍消息引擎系统以及Kafka的基本概念与特性,快速带领读者走进Kafka的世界;第2章简要回顾了Apache Kafka的发展历史;第3章详细介绍了Kafka集群环境的搭建;第4、5章深入探讨了Kafka客户端的使用方法;第6章带领读者一览Kafka内部设计原理;第7~9章以实例的方式讲解了Kafka集群的管理、监控与调优;第10章介绍了Kafka新引入的流式处理组件。

作者简介

胡夕,北航计算机硕士毕业,目前就职于一家互联网金融公司,开源技术爱好者。曾任职于IBM、搜狗、微博等公司。对Kafka及其他开源流处理技术与框架有深刻认识,同时也是国内活跃的Kafka代码贡献者。对Kafka原理、运行机制以及应用开发都有较深的研究。

章节目录

封面

作者介绍

版权页

前言

目录

第1章 认识Apache Kafka

1.1 Kafka快速入门

1.1.1 下载并解压缩Kafka二进制代码压缩包文件

1.1.2 启动服务器

1.1.3 创建topic

1.1.4 发送消息

1.1.5 消费消息

1.2 消息引擎系统

1.2.1 消息设计

1.2.2 传输协议设计

1.2.3 消息引擎范型

1.2.4 Java消息服务

1.3 Kafka概要设计

1.3.1 吞吐量/延时

1.3.2 消息持久化

1.3.3 负载均衡和故障转移

1.3.4 伸缩性

1.4 Kafka基本概念与术语

1.4.1 消息

1.4.2 topic和partition

1.4.3 offset

1.4.4 replica

1.4.5 leader和follower

1.4.6 ISR

1.5 Kafka使用场景

1.5.1 消息传输

1.5.2 网站行为日志追踪

1.5.3 审计数据收集

1.5.4 日志收集

1.5.5 Event Sourcing

1.5.6 流式处理

1.6 本章小结

第2章 Kafka发展历史

2.1 Kafka的历史

2.1.1 背景

2.1.2 Kafka横空出世

2.1.3 Kafka开源

2.2 Kafka版本变迁

2.2.1 Kafka的版本演进

2.2.2 Kafka的版本格式

2.2.3 新版本功能简介

2.2.4 旧版本功能简介

2.3 如何选择Kafka版本

2.3.1 根据功能场景

2.3.2 根据客户端使用场景

2.4 Kafka与Confluent

2.5 本章小结

第3章 Kafka线上环境部署

3.1 集群环境规划

3.1.1 操作系统的选型

3.1.2 磁盘规划

3.1.3 磁盘容量规划

3.1.4 内存规划

3.1.5 CPU规划

3.1.6 带宽规划

3.1.7 典型线上环境配置

3.2 伪分布式环境安装

3.2.1 安装Java

3.2.2 安装ZooKeeper

3.2.3 安装单节点Kafka集群

3.3 多节点环境安装

3.3.1 安装多节点ZooKeeper集群

3.3.2 安装多节点Kafka

3.4 验证部署

3.4.1 测试topic创建与删除

3.4.2 测试消息发送与消费

3.4.3 生产者吞吐量测试

3.4.4 消费者吞吐量测试

3.5 参数设置

3.5.1 broker端参数

3.5.2 topic级别参数

3.5.3 GC参数

3.5.4 JVM参数

3.5.5 OS参数

3.6 本章小结

第4章 producer开发

4.1 producer概览

4.2 构造producer

4.2.1 producer程序实例

4.2.2 producer主要参数

4.3 消息分区机制

4.3.1 分区策略

4.3.2 自定义分区机制

4.4 消息序列化

4.4.1 默认序列化

4.4.2 自定义序列化

4.5 producer拦截器

4.6 无消息丢失配置

4.6.1 producer端配置

4.6.2 broker端配置

4.7 消息压缩

4.7.1 Kafka支持的压缩算法

4.7.2 算法性能比较与调优

4.8 多线程处理

4.9 旧版本producer

4.10 本章小结

第5章 consumer开发

5.1 consumer概览

5.1.1 消费者(consumer)

5.1.2 消费者组(consumer group)

5.1.3 位移(offset)

5.1.4 位移提交

5.1.5__consumer_offsets

5.1.6 消费者组重平衡(consumer group rebalance)

5.2 构建consumer

5.2.1 consumer程序实例

5.2.2 consumer脚本命令

5.2.3 consumer主要参数

5.3 订阅topic

5.3.1 订阅topic列表

5.3.2 基于正则表达式订阅topic

5.4 消息轮询

5.4.1 poll内部原理

5.4.2 poll使用方法

5.5 位移管理

5.5.1 consumer位移

5.5.2 新版本consumer位移管理

5.5.3 自动提交与手动提交

5.5.4 旧版本consumer位移管理

5.6 重平衡(rebalance)

5.6.1 rebalance概览

5.6.2 rebalance触发条件

5.6.3 rebalance分区分配

5.6.4 rebalance generation

5.6.5 rebalance协议

5.6.6 rebalance流程

5.6.7 rebalance监听器

5.7 解序列化

5.7.1 默认解序列化器

5.7.2 自定义解序列化器

5.8 多线程消费实例

5.8.1 每个线程维护一个KafkaConsumer

5.8.2 单KafkaConsumer实例+多worker线程

5.8.3 两种方法对比

5.9 独立consumer

5.10 旧版本consumer

5.10.1 概览

5.10.2 high-level consumer

5.10.3 low-level consumer

5.11 本章小结

第6章 Kafka设计原理

6.1 broker端设计架构

6.1.1 消息设计

6.1.2 集群管理

6.1.3 副本与ISR设计

6.1.4 水印(watermark)和leader epoch

6.1.5 日志存储设计

6.1.6 通信协议(wire protocol)

6.1.7 controller设计

6.1.8 broker请求处理

6.2 producer端设计

6.2.1 producer端基本数据结构

6.2.2 工作流程

6.3 consumer端设计

6.3.1 consumer group状态机

6.3.2 group管理协议

6.3.3 rebalance场景剖析

6.4 实现精确一次处理语义

6.4.1 消息交付语义

6.4.2 幂等性producer(idempotent producer)

6.4.3 事务(transaction)

6.5 本章小结

第7章 管理Kafka集群

7.1 集群管理

7.1.1 启动broker

7.1.2 关闭broker

7.1.3 设置JMX端口

7.1.4 增加broker

7.1.5 升级broker版本

7.2 topic管理

7.2.1 创建topic

7.2.2 删除topic

7.2.3 查询topic列表

7.2.4 查询topic详情

7.2.5 修改topic

7.3 topic动态配置管理

7.3.1 增加topic配置

7.3.2 查看topic配置

7.3.3 删除topic配置

7.4 consumer相关管理

7.4.1 查询消费者组

7.4.2 重设消费者组位移

7.4.3 删除消费者组

7.4.4 kafka-consumer-offset-checker

7.5 topic分区管理

7.5.1 preferred leader选举

7.5.2 分区重分配

7.5.3 增加副本因子

7.6 Kafka常见脚本工具

7.6.1 kafka-console-producer脚本

7.6.2 kafka-console-consumer脚本

7.6.3 kafka-run-class脚本

7.6.4 查看消息元数据

7.6.5 获取topic当前消息数

7.6.6 查询__consumer_offsets

7.7 API方式管理集群

7.7.1 服务器端API管理topic

7.7.2 服务器端API管理位移

7.7.3 客户端API管理topic

7.7.4 客户端API查看位移

7.7.5 0.11.0.0版本客户端API

7.8 MirrorMaker

7.8.1 概要介绍

7.8.2 主要参数

7.8.3 使用实例

7.9 Kafka安全

7.9.1 SASL+ACL

7.9.2 SSL加密

7.10 常见问题

7.11 本章小结

第8章 监控Kafka集群

8.1 集群健康度检查

8.2 MBean监控

8.2.1 监控指标

8.2.2 指标分类

8.2.3 定义和查询JMX端口

8.3 broker端JMX监控

8.3.1 消息入站/出站速率

8.3.2 controller存活JMX指标

8.3.3 备份不足的分区数

8.3.4 leader分区数

8.3.5 ISR变化速率

8.3.6 broker I/O工作处理线程空闲率

8.3.7 broker网络处理线程空闲率

8.3.8 单个topic总字节数

8.4 clients端JMX监控

8.4.1 producer端JMX监控

8.4.2 consumer端JMX监控

8.5 JVM监控

8.5.1 进程状态

8.5.2 GC性能

8.6 OS监控

8.7 主流监控框架

8.7.1 JmxTool

8.7.2 kafka-manager

8.7.3 Kafka Monitor

8.7.4 Kafka Offset Monitor

8.7.5 CruiseControl

8.8 本章小结

第9章 调优Kafka集群

9.1 引言

9.2 确定调优目标

9.3 集群基础调优

9.3.1 禁止atime更新

9.3.2 文件系统选择

9.3.3 设置swapiness

9.3.4 JVM设置

9.3.5 其他调优

9.4 调优吞吐量

9.5 调优延时

9.6 调优持久性

9.7 调优可用性

9.8 本章小结

第10章 Kafka Connect与Kafka Streams

10.1 引言

10.2 Kafka Connect

10.2.1 概要介绍

10.2.2 standalone Connect

10.2.3 distributed Connect

10.2.4 开发connector

10.3 Kafka Streams

10.3.1 流处理

10.3.2 Kafka Streams核心概念

10.3.3 Kafka Streams与其他框架的异同

10.3.4 Word Count实例

10.3.5 Kafka Streams应用开发

10.3.6 Kafka Streams状态查询

10.4 本章小结

Apache Kafka实战是2018年由电子工业出版社出版,作者胡夕。

得书感谢您对《Apache Kafka实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python图像处理实战 电子书
本书先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图像处理以及计算机视觉与深度学习方面的最新进展。全书共12章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。
Power BI商业数据分析 电子书
1. 作者是注册会计师,熟练使用PowerBI,实践经验丰富。 2. 作者的公众号现已成为国内影响力的PowerBI公众号之一,专注于PowerBI知识的分享,其文章通俗易懂、简洁干练、精彩不断,深受广大PowerBI学习者喜爱。
基于BIM的Revit2019中文版建筑设计实战演练 电子书
入门读者快速、全面地掌握Revit 2019的理想教材。
Kafka入门与实践 电子书
本书适合应用Kafka的专业技术人员阅读,包括但不限于大数据相关应用的开发者、运维者和爱好者。
HBase入门与实践(第2版) 电子书
本书以精练的语言介绍了HBase的基础知识。