Kafka实战 大数据技术流数据架构开发运维流式处理数据管道交付编程式管理书籍Kafka编程监控调优和维护
¥67.40
运费: | ¥ 0.00-20.00 |
商品详情
书名:Kafka实战
定价:89.8
ISBN:9787115614445
作者:迪伦·斯科特(Dylan Scott)维克托·盖莫夫(Viktor Gamov) 戴夫·克莱因(Dave Klein)
版次:第1版
出版时间:2023-07
内容提要:
本书旨在介绍Kafka的核心功能,以及如何在实际项目中使用它。本书主要内容包括Kafka的核心概念,如何使用Kafka Connect设置和执行基本ETL任务,如何将Kafka用于大型数据项目,如何执行管理任务,如何生成和使用事件流,如何在Java应用程序中使用Kafka,如何将Kafka实现为消息队列等。通过阅读本书,读者应该很快*会掌握如何在日常工作流程中使用Kafka,还可以开始深入研究更*的Kafka主题。 本书适合软件开发人员阅读,也可作为计算机相关专业的教材。
作者简介:
Dylan Scott是一名软件开发人员,拥有十多年Java和Perl开发经验。在将Kafka作为大型数据迁移项目的消息系统之后,Dylan又进一步探索Kafka和流式处理的世界。他使用过各种技术和消息队列产品,包括Mule、RabbitMQ、MQSeries和Kafka。Dylan拥有Sun Java SE 1.6、Oracle Web EE 6、Neo4j和Jenkins Engineer等方面的证书。 Viktor Gamov*职于Confluent公司。Confluent*是那家开发基于Kafka的事件流平台的公司。在Viktor的整个职业生涯中,他使用开源技术构建企业应用程序架构,积累了*的专业知识。他喜欢帮助架构师与开发人员设计和开发低延迟、可伸缩且高可用的分布式系统。Viktor不仅是分布式系统、流式数据、JVM和DevOps等主题的专业会议讲师,还是JavaOne、Devoxx、OSCON、QCon等活动的常客。他是Enterprise Web Development(O’Reilly出版社)一书的合著者。 Dave Klein担任过开发人员、架构师、项目经理、作家、培训师、会议组织者等,主要研究方向是Kafka事件流。
目录:
目录
第 一部分 快速入门
第 1章 Kafka简介 3
1.1 什么是Kafka 4
1.2 Kafka的使用情况 7
1.2.1 开发人员的Kafka 7
1.2.2 向管理人员介绍Kafka 9
1.3 关于Kafka的谜团 9
1.3.1 Kafka只能与Hadoop一起使用 9
1.3.2 Kafka与其他消息系统是一样的 10
1.4 现实世界中的Kafka 11
1.4.1 早期的例子 11
1.4.2 后来的例子 12
1.4.3 什么时候不适合使用Kafka 13
1.5 其他在线资源 14
总结 14
第 2章 了解Kafka 15
2.1 发送和读取一条消息 15
2.2 什么是Broker 16
2.3 Kafka之旅 20
2.3.1 生产者和消费者 20
2.3.2 主题 23
2.3.3 ZooKeeper 24
2.3.4 Kafka的*架构 25
2.3.5 提交日志 26
2.4 其他API及其用途 26
2.4.1 Kafka Streams 27
2.4.2 Kafka Connect 28
2.4.3 AdminClient 28
2.4.4 ksqlDB 29
2.5 Confluent的客户端 29
2.6 流式处理及术语解释 32
2.6.1 流式处理 33
2.6.2 *一次语义 34
总结 34
*部分 应用Kafka
第3章 设计并实现一个Kafka项目 37
3.1 设计一个Kafka项目 37
3.1.1 重新设计已有的数据
架构 38
3.1.2 改变的第 一步 38
3.1.3 内置的特性 38
3.1.4 票据数据 40
3.2 设计传感器事件 42
3.2.1 现有的问题 43
3.2.2 为什么Kafka是*合适的 44
3.2.3 关于我们的设计 45
3.2.4 用户数据需求 46
3.2.5 应用我们的问题清单 46
3.2.6 评审我们的设计 49
3.3 数据格式 50
3.3.1 数据规划 50
3.3.2 配置依赖项 51
总结 56
第4章 生产者——数据的源头 57
4.1 一个示例 57
4.2 生产者的配置参数 61
4.2.1 配置Broker地址列表 61
4.2.2 如何提升速度(或*性) 62
4.2.3 时间戳 64
4.3 代码实现 65
总结 73
第5章 消费者——解锁数据 74
5.1 一个示例 74
5.1.1 消费者的配置属性 76
5.1.2 理解偏移量 79
5.2 消费者之间的交互 82
5.3 跟踪偏移量 82
5.3.1 组协调器 83
5.3.2 分区的分配策略 85
5.4 提交偏移量 86
5.5 从压实的主题中读取数据 88
5.6 工厂示例的消费者代码 88
5.6.1 偏移量的配置选项 89
5.6.2 满足设计需求 90
总结 93
第6章 Broker 94
6.1 Broker简介 94
6.2 ZooKeeper的角色 95
6.3 Broker级别的配置选项 96
6.3.1 Kafka的应用程序日志 98
6.3.2 服务器日志 98
6.3.3 管理集群状态 98
6.4 分区的*领和它们的职责 99
6.5 窥探Kafka 102
6.5.1 集群维护 103
6.5.2 增加一个Broker 104
6.5.3 升级集群 104
6.5.4 升级客户端 104
6.5.5 备份 105
6.6 关于有状态系统 105
6.7 练习 106
总结 108
第7章 主题和分区 109
7.1 主题 109
7.1.1 主题的配置选项 112
7.1.2 复制系数 114
7.2 分区 114
7.2.1 分区的位置 114
7.2.2 查看日志 115
7.3 使用EmbeddedKafkaCluster 116
7.4 主题压实 118
总结 120
第8章 Kafka的存储 121
8.1 需要保存数据多长时间 121
8.2 移动数据 122
8.2.1 保留原始事件 123
8.2.2 摆脱批处理思维 123
8.3 工具 123
8.3.1 Apache Flume 124
8.3.2 Red Hat Debezium 125
8.3.3 Secor 126
8.3.4 数据存储应用示例 126
8.4 将数据放回Kafka 127
8.5 Kafka支持的架构 128
8.5.1 Lambda架构 128
8.5.2 Kappa架构 129
8.6 多集群设置 130
8.7 基于云和容器的存储方案 131
总结 131
第9章 管理Kafka——工具和日志 132
9.1 管理客户端 132
9.1.1 在代码中使用AdminClient 133
9.1.2 kcat 134
9.1.3 Confluent REST Proxy API 135
9.2 将Kafka作为systemd服务运行 137
9.3 日志 137
9.3.1 Kafka的应用程序日志 138
9.3.2 ZooKeeper的日志 139
9.4 防火墙 140
9.5 指标 141
9.6 跟踪 143
9.6.1 生产者逻辑 144
9.6.2 消费者逻辑 145
9.6.3 覆盖客户端 147
9.7 通用的监控工具 148
总结 148
第三部分 Kafka进阶
第 10章 保护Kafka 151
10.1 *性基础 152
10.1.1 用SSL加密 153
10.1.2 Broker和客户端之间的 SSL 154
10.1.3 Broker之间的SSL 156
10.2 Kerberos与SASL 157
10.3 Kafka的授权机制 158
10.3.1 访问控制列表 158
10.3.2 基于角色的访问控制 159
10.4 ZooKeeper 160
10.5 配额 160
10.5.1 网络带宽配额 161
10.5.2 请求速率配额 162
10.6 静态数据 163
总结 164
第 11章 Schema Registry 165
11.1 Kafka成熟度模型 165
11.1.1 级别0 166
11.1.2 级别1 166
11.1.3 级别2 167
11.1.4 级别3 168
11.2 Schema Registry 168
11.2.1 安装Confluent Schema Registry 168
11.2.2 注册表的配置 169
11.3 Schema的特性 170
11.3.1 REST API 170
11.3.2 客户端库 171
11.4 兼容性规则 172
11.5 Schema Registry之外的选择 174
总结 175
第 12章 流式处理 176
12.1 Kafka Streams 177
12.1.1 KStreams API DSL 178
12.1.2 KTable API 181
12.1.3 GlobalKTable API 181
12.1.4 Processor API 182
12.1.5 设置Kafka Streams 184
12.2 ksqlDB——一个事件流 数据库 185
12.2.1 查询 186
12.2.2 本地开发 186
12.2.3 ksqlDB的架构 188
12.3 更进一步 188
12.3.1 Kafka改进提案 188
12.3.2 值得了解的Kafka项目 189
12.3.3 社区Slack频道 189
总结 189
附录A 安装 190
附录B 客户端示例 197
定价:89.8
ISBN:9787115614445
作者:迪伦·斯科特(Dylan Scott)维克托·盖莫夫(Viktor Gamov) 戴夫·克莱因(Dave Klein)
版次:第1版
出版时间:2023-07
内容提要:
本书旨在介绍Kafka的核心功能,以及如何在实际项目中使用它。本书主要内容包括Kafka的核心概念,如何使用Kafka Connect设置和执行基本ETL任务,如何将Kafka用于大型数据项目,如何执行管理任务,如何生成和使用事件流,如何在Java应用程序中使用Kafka,如何将Kafka实现为消息队列等。通过阅读本书,读者应该很快*会掌握如何在日常工作流程中使用Kafka,还可以开始深入研究更*的Kafka主题。 本书适合软件开发人员阅读,也可作为计算机相关专业的教材。
作者简介:
Dylan Scott是一名软件开发人员,拥有十多年Java和Perl开发经验。在将Kafka作为大型数据迁移项目的消息系统之后,Dylan又进一步探索Kafka和流式处理的世界。他使用过各种技术和消息队列产品,包括Mule、RabbitMQ、MQSeries和Kafka。Dylan拥有Sun Java SE 1.6、Oracle Web EE 6、Neo4j和Jenkins Engineer等方面的证书。 Viktor Gamov*职于Confluent公司。Confluent*是那家开发基于Kafka的事件流平台的公司。在Viktor的整个职业生涯中,他使用开源技术构建企业应用程序架构,积累了*的专业知识。他喜欢帮助架构师与开发人员设计和开发低延迟、可伸缩且高可用的分布式系统。Viktor不仅是分布式系统、流式数据、JVM和DevOps等主题的专业会议讲师,还是JavaOne、Devoxx、OSCON、QCon等活动的常客。他是Enterprise Web Development(O’Reilly出版社)一书的合著者。 Dave Klein担任过开发人员、架构师、项目经理、作家、培训师、会议组织者等,主要研究方向是Kafka事件流。
目录:
目录
第 一部分 快速入门
第 1章 Kafka简介 3
1.1 什么是Kafka 4
1.2 Kafka的使用情况 7
1.2.1 开发人员的Kafka 7
1.2.2 向管理人员介绍Kafka 9
1.3 关于Kafka的谜团 9
1.3.1 Kafka只能与Hadoop一起使用 9
1.3.2 Kafka与其他消息系统是一样的 10
1.4 现实世界中的Kafka 11
1.4.1 早期的例子 11
1.4.2 后来的例子 12
1.4.3 什么时候不适合使用Kafka 13
1.5 其他在线资源 14
总结 14
第 2章 了解Kafka 15
2.1 发送和读取一条消息 15
2.2 什么是Broker 16
2.3 Kafka之旅 20
2.3.1 生产者和消费者 20
2.3.2 主题 23
2.3.3 ZooKeeper 24
2.3.4 Kafka的*架构 25
2.3.5 提交日志 26
2.4 其他API及其用途 26
2.4.1 Kafka Streams 27
2.4.2 Kafka Connect 28
2.4.3 AdminClient 28
2.4.4 ksqlDB 29
2.5 Confluent的客户端 29
2.6 流式处理及术语解释 32
2.6.1 流式处理 33
2.6.2 *一次语义 34
总结 34
*部分 应用Kafka
第3章 设计并实现一个Kafka项目 37
3.1 设计一个Kafka项目 37
3.1.1 重新设计已有的数据
架构 38
3.1.2 改变的第 一步 38
3.1.3 内置的特性 38
3.1.4 票据数据 40
3.2 设计传感器事件 42
3.2.1 现有的问题 43
3.2.2 为什么Kafka是*合适的 44
3.2.3 关于我们的设计 45
3.2.4 用户数据需求 46
3.2.5 应用我们的问题清单 46
3.2.6 评审我们的设计 49
3.3 数据格式 50
3.3.1 数据规划 50
3.3.2 配置依赖项 51
总结 56
第4章 生产者——数据的源头 57
4.1 一个示例 57
4.2 生产者的配置参数 61
4.2.1 配置Broker地址列表 61
4.2.2 如何提升速度(或*性) 62
4.2.3 时间戳 64
4.3 代码实现 65
总结 73
第5章 消费者——解锁数据 74
5.1 一个示例 74
5.1.1 消费者的配置属性 76
5.1.2 理解偏移量 79
5.2 消费者之间的交互 82
5.3 跟踪偏移量 82
5.3.1 组协调器 83
5.3.2 分区的分配策略 85
5.4 提交偏移量 86
5.5 从压实的主题中读取数据 88
5.6 工厂示例的消费者代码 88
5.6.1 偏移量的配置选项 89
5.6.2 满足设计需求 90
总结 93
第6章 Broker 94
6.1 Broker简介 94
6.2 ZooKeeper的角色 95
6.3 Broker级别的配置选项 96
6.3.1 Kafka的应用程序日志 98
6.3.2 服务器日志 98
6.3.3 管理集群状态 98
6.4 分区的*领和它们的职责 99
6.5 窥探Kafka 102
6.5.1 集群维护 103
6.5.2 增加一个Broker 104
6.5.3 升级集群 104
6.5.4 升级客户端 104
6.5.5 备份 105
6.6 关于有状态系统 105
6.7 练习 106
总结 108
第7章 主题和分区 109
7.1 主题 109
7.1.1 主题的配置选项 112
7.1.2 复制系数 114
7.2 分区 114
7.2.1 分区的位置 114
7.2.2 查看日志 115
7.3 使用EmbeddedKafkaCluster 116
7.4 主题压实 118
总结 120
第8章 Kafka的存储 121
8.1 需要保存数据多长时间 121
8.2 移动数据 122
8.2.1 保留原始事件 123
8.2.2 摆脱批处理思维 123
8.3 工具 123
8.3.1 Apache Flume 124
8.3.2 Red Hat Debezium 125
8.3.3 Secor 126
8.3.4 数据存储应用示例 126
8.4 将数据放回Kafka 127
8.5 Kafka支持的架构 128
8.5.1 Lambda架构 128
8.5.2 Kappa架构 129
8.6 多集群设置 130
8.7 基于云和容器的存储方案 131
总结 131
第9章 管理Kafka——工具和日志 132
9.1 管理客户端 132
9.1.1 在代码中使用AdminClient 133
9.1.2 kcat 134
9.1.3 Confluent REST Proxy API 135
9.2 将Kafka作为systemd服务运行 137
9.3 日志 137
9.3.1 Kafka的应用程序日志 138
9.3.2 ZooKeeper的日志 139
9.4 防火墙 140
9.5 指标 141
9.6 跟踪 143
9.6.1 生产者逻辑 144
9.6.2 消费者逻辑 145
9.6.3 覆盖客户端 147
9.7 通用的监控工具 148
总结 148
第三部分 Kafka进阶
第 10章 保护Kafka 151
10.1 *性基础 152
10.1.1 用SSL加密 153
10.1.2 Broker和客户端之间的 SSL 154
10.1.3 Broker之间的SSL 156
10.2 Kerberos与SASL 157
10.3 Kafka的授权机制 158
10.3.1 访问控制列表 158
10.3.2 基于角色的访问控制 159
10.4 ZooKeeper 160
10.5 配额 160
10.5.1 网络带宽配额 161
10.5.2 请求速率配额 162
10.6 静态数据 163
总结 164
第 11章 Schema Registry 165
11.1 Kafka成熟度模型 165
11.1.1 级别0 166
11.1.2 级别1 166
11.1.3 级别2 167
11.1.4 级别3 168
11.2 Schema Registry 168
11.2.1 安装Confluent Schema Registry 168
11.2.2 注册表的配置 169
11.3 Schema的特性 170
11.3.1 REST API 170
11.3.2 客户端库 171
11.4 兼容性规则 172
11.5 Schema Registry之外的选择 174
总结 175
第 12章 流式处理 176
12.1 Kafka Streams 177
12.1.1 KStreams API DSL 178
12.1.2 KTable API 181
12.1.3 GlobalKTable API 181
12.1.4 Processor API 182
12.1.5 设置Kafka Streams 184
12.2 ksqlDB——一个事件流 数据库 185
12.2.1 查询 186
12.2.2 本地开发 186
12.2.3 ksqlDB的架构 188
12.3 更进一步 188
12.3.1 Kafka改进提案 188
12.3.2 值得了解的Kafka项目 189
12.3.3 社区Slack频道 189
总结 189
附录A 安装 190
附录B 客户端示例 197
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...