计算机
类型
8.6
豆瓣评分
可以朗读
语音朗读
445千字
字数
2019-01-01
发行日期
展开全部
主编推荐语
Kafka全面解析:基本概念、生产者消费者客户端、主题与分区、日志存储、原理监控、扩展应用与Spark集成。以Java为示例。
内容简介
本书从Kafka的基本概念入手,主要从生产端、消费端、服务端等3个方面进行全面的陈述,主要内容包括Kafka的基本使用方式、生产者客户端的使用、消费者客户端的使用、主题与分区、日志存储、深入原理解析、监控的设计、高级应用的扩展以及与Spark的集成等。虽然Kafka的内核使用Scala语言编写,但是本书基本以Java语言作为主要的示例语言,方便绝大多数读者的理解。本书虽然没有明确的界定,但是总体上可以隐性的划分为三个部分:基础篇、原理篇和扩展篇,以这种循序渐进的方式更能让读者容易接受。
目录
- 版权信息
- 内容简介
- 前言
- 内容大纲
- 读者讨论
- 致谢
- 第1章 初识Kafka
- 1.1 基本概念
- 1.2 安装与配置
- 1.3 生产与消费
- 1.4 服务端参数配置
- 1.5 总结
- 第2章 生产者
- 2.1 客户端开发
- 2.1.1 必要的参数配置
- 2.1.2 消息的发送
- 2.1.3 序列化
- 2.1.4 分区器
- 2.1.5 生产者拦截器
- 2.2 原理分析
- 2.2.1 整体架构
- 2.2.2 元数据的更新
- 2.3 重要的生产者参数
- 2.4 总结
- 第3章 消费者
- 3.1 消费者与消费组
- 3.2 客户端开发
- 3.2.1 必要的参数配置
- 3.2.2 订阅主题与分区
- 3.2.3 反序列化
- 3.2.4 消息消费
- 3.2.5 位移提交
- 3.2.6 控制或关闭消费
- 3.2.7 指定位移消费
- 3.2.8 再均衡
- 3.2.9 消费者拦截器
- 3.2.10 多线程实现
- 3.2.11 重要的消费者参数
- 3.3 总结
- 第4章 主题与分区
- 4.1 主题的管理
- 4.1.1 创建主题
- 4.1.2 分区副本的分配
- 4.1.3 查看主题
- 4.1.4 修改主题
- 4.1.5 配置管理
- 4.1.6 主题端参数
- 4.1.7 删除主题
- 4.2 初识KafkaAdminClient
- 4.2.1 基本使用
- 4.2.2 主题合法性验证
- 4.3 分区的管理
- 4.3.1 优先副本的选举
- 4.3.2 分区重分配
- 4.3.3 复制限流
- 4.3.4 修改副本因子
- 4.4 如何选择合适的分区数
- 4.4.1 性能测试工具
- 4.4.2 分区数越多吞吐量就越高吗
- 4.4.3 分区数的上限
- 4.4.4 考量因素
- 4.5 总结
- 第5章 日志存储
- 5.1 文件目录布局
- 5.2 日志格式的演变
- 5.2.1 v0版本
- 5.2.2 v1版本
- 5.2.3 消息压缩
- 5.2.4 变长字段
- 5.2.5 v2版本
- 5.3 日志索引
- 5.3.1 偏移量索引
- 5.3.2 时间戳索引
- 5.4 日志清理
- 5.4.1 日志删除
- 5.4.2 日志压缩
- 5.5 磁盘存储
- 5.5.1 页缓存
- 5.5.2 磁盘I/O流程
- 5.5.3 零拷贝
- 5.6 总结
- 第6章 深入服务端
- 6.1 协议设计
- 6.2 时间轮
- 6.3 延时操作
- 6.4 控制器
- 6.4.1 控制器的选举及异常恢复
- 6.4.2 优雅关闭
- 6.4.3 分区leader的选举
- 6.5 参数解密
- 6.5.1 broker.id
- 6.5.2 bootstrap.schmervers
- 6.5.3 服务端参数列表
- 6.6 总结
- 第7章 深入客户端
- 7.1 分区分配策略
- 7.1.1 RangeAssignor分配策略
- 7.1.2 RoundRobinAssignor分配策略
- 7.1.3 StickyAssignor分配策略
- 7.1.4 自定义分区分配策略
- 7.2 消费者协调器和组协调器
- 7.2.1 旧版消费者客户端的问题
- 7.2.2 再均衡的原理
- 7.3 __consumer_offsets剖析
- 7.4 事务
- 7.4.1 消息传输保障
- 7.4.2 幂等
- 7.4.3 事务
- 7.5 总结
- 第8章 可靠性探究
- 8.1 副本剖析
- 8.1.1 失效副本
- 8.1.2 ISR的伸缩
- 8.1.3 LEO与HW
- 8.1.4 Leader Epoch的介入
- 8.1.5 为什么不支持读写分离
- 8.2 日志同步机制
- 8.3 可靠性分析
- 8.4 总结
- 第9章 Kafka应用
- 9.1 命令行工具
- 9.1.1 消费组管理
- 9.1.2 消费位移管理
- 9.1.3 手动删除消息
- 9.2 Kafka Connect
- 9.2.1 独立模式
- 9.2.2 REST API
- 9.2.3 分布式模式
- 9.3 Kafka Mirror Maker
- 9.4 Kafka Streams
- 9.5 总结
- 第10章 Kafka监控
- 10.1 监控数据的来源
- 10.1.1 OneMinuteRate
- 10.1.2 获取监控指标
- 10.2 消费滞后
- 10.3 同步失效分区
- 10.4 监控指标说明
- 10.5 监控模块
- 10.6 总结
- 第11章 高级应用
- 11.1 过期时间(TTL)
- 11.2 延时队列
- 11.3 死信队列和重试队列
- 11.4 消息路由
- 11.5 消息轨迹
- 11.6 消息审计
- 11.7 消息代理
- 11.7.1 快速入门
- 11.7.2 REST API介绍及示例
- 11.7.3 服务端配置及部署
- 11.7.4 应用思考
- 11.8 消息中间件选型
- 11.8.1 各类消息中间件简述
- 11.8.2 选型要点概述
- 11.8.3 消息中间件选型误区探讨
- 11.9 总结
- 第12章 Kafka与Spark的集成
- 12.1 Spark的安装及简单应用
- 12.2 Spark编程模型
- 12.3 Spark的运行结构
- 12.4 Spark Streaming简介
- 12.5 Kafka与Spark Streaming的整合
- 12.6 Spark SQL
- 12.7 Structured Streaming
- 12.8 Kafka与Structured Streaming的整合
- 12.9 总结
- 附录A Kafka源码环境搭建
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。