Kafka实战

Kafka实战

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

    关注微信公众号

编辑推荐

本书介绍Kafka的应用和使用,适合Java开发者和数据工程师。

内容简介

本书旨在介绍Kafka的核心功能,以及如何在实际项目中使用它。本书主要内容包括Kafka的核心概念,如何使用Kafka Connect设置和执行基本ETL任务,如何将Kafka用于大型数据项目,如何执行管理任务,如何生成和使用事件流,如何在Java应用程序中使用Kafka,如何将Kafka实现为消息队列等。通过阅读本书,读者应该很快就会掌握如何在日常工作流程中使用Kafka,还可以开始深入研究更高级的Kafka主题。 本书适合软件开发人员阅读,也可作为计算机相关专业的教材。

作者简介

作者迪伦·斯科特,一名软件开发人员,拥有十多年Java和Perl开发经验。在将Kafka作为大型数据迁移项目的消息系统之后,Dylan又进一步探索Kafka和流式处理的世界。他使用过各种技术和消息队列产品,包括Mule、RabbitMQ、MQSeries和Kafka。

章节目录

版权信息

内容提要

献词

致谢

作者简介

推荐序

前言

关于封面插图

服务与支持

第一部分 快速入门

第1章 Kafka简介

1.1 什么是Kafka

1.2 Kafka的使用情况

1.2.1 开发人员的Kafka

1.2.2 向管理人员介绍Kafka

1.3 关于Kafka的谜团

1.3.1 Kafka只能与Hadoop一起使用

1.3.2 Kafka与其他消息系统是一样的

1.4 现实世界中的Kafka

1.4.1 早期的例子

1.4.2 后来的例子

1.4.3 什么时候不适合使用Kafka

1.5 其他在线资源

总结

第2章 了解Kafka

2.1 发送和读取一条消息

2.2 什么是Broker

2.3 Kafka之旅

2.3.1 生产者和消费者

2.3.2 主题

2.3.3 ZooKeeper

2.3.4 Kafka的高级架构

2.3.5 提交日志

2.4 其他API及其用途

2.4.1 Kafka Streams

2.4.2 Kafka Connect

2.4.3 AdminClient

2.4.4 ksqlDB

2.5 Confluent的客户端

2.6 流式处理及术语解释

2.6.1 流式处理

2.6.2 精确一次语义

总结

第二部分 应用Kafka

第3章 设计并实现一个Kafka项目

3.1 设计一个Kafka项目

3.1.1 重新设计已有的数据架构

3.1.2 改变的第一步

3.1.3 内置的特性

3.1.4 票据数据

3.2 设计传感器事件

3.2.1 现有的问题

3.2.2 为什么Kafka是最合适的

3.2.3 关于我们的设计

3.2.4 用户数据需求

3.2.5 应用我们的问题清单

3.2.6 评审我们的设计

3.3 数据格式

3.3.1 数据规划

3.3.2 配置依赖项

总结

第4章 生产者

4.1 一个示例

4.2 生产者的配置参数

4.2.1 配置Broker地址列表

4.2.2 如何提升速度(或安全性)

4.2.3 时间戳

4.3 代码实现

总结

第5章 消费者

5.1 一个示例

5.1.1 消费者的配置属性

5.1.2 理解偏移量

5.2 消费者之间的交互

5.3 跟踪偏移量

5.3.1 组协调器

5.3.2 分区的分配策略

5.4 提交偏移量

5.5 从压实的主题中读取数据

5.6 工厂示例的消费者代码

5.6.1 偏移量的配置选项

5.6.2 满足设计需求

总结

第6章 Broker

6.1 Broker简介

6.2 ZooKeeper的角色

6.3 Broker级别的配置选项

6.3.1 Kafka的应用程序日志

6.3.2 服务器日志

6.3.3 管理集群状态

6.4 分区的首领和它们的职责

6.5 窥探Kafka

6.5.1 集群维护

6.5.2 增加一个Broker

6.5.3 升级集群

6.5.4 升级客户端

6.5.5 备份

6.6 关于有状态系统

6.7 练习

总结

第7章 主题和分区

7.1 主题

7.1.1 主题的配置选项

7.1.2 复制系数

7.2 分区

7.2.1 分区的位置

7.2.2 查看日志

7.3 使用EmbeddedKafkaCluster

7.4 主题压实

总结

第8章 Kafka的存储

8.1 需要保存数据多长时间

8.2 移动数据

8.2.1 保留原始事件

8.2.2 摆脱批处理思维

8.3 工具

8.3.1 Apache Flume

8.3.2 Red Hat Debezium

8.3.3 Secor

8.3.4 数据存储应用示例

8.4 将数据放回Kafka

8.5 Kafka支持的架构

8.5.1 Lambda架构

8.5.2 Kappa架构

8.6 多集群设置

8.7 基于云和容器的存储方案

总结

第9章 管理Kafka

9.1 管理客户端

9.1.1 在代码中使用AdminClient

9.1.2 kcat

9.1.3 Confluent REST Proxy API

9.2 将Kafka作为systemd服务运行

9.3 日志

9.3.1 Kafka的应用程序日志

9.3.2 ZooKeeper的日志

9.4 防火墙

9.5 指标

9.6 跟踪

9.6.1 生产者逻辑

9.6.2 消费者逻辑

9.6.3 覆盖客户端

9.7 通用的监控工具

总结

第三部分 Kafka进阶

第10章 保护Kafka

10.1 安全性基础

10.1.1 用SSL加密

10.1.2 Broker和客户端之间的SSL

10.1.3 Broker之间的SSL

10.2 Kerberos与SASL

10.3 Kafka的授权机制

10.3.1 访问控制列表

10.3.2 基于角色的访问控制

10.4 ZooKeeper

10.5 配额

10.5.1 网络带宽配额

10.5.2 请求速率配额

10.6 静态数据

总结

第11章 Schema Registry

11.1 Kafka成熟度模型

11.1.1 级别0

11.1.2 级别1

11.1.3 级别2

11.1.4 级别3

11.2 Schema Registry

11.2.1 安装Confluent Schema Registry

11.2.2 注册表的配置

11.3 Schema的特性

11.3.1 REST API

11.3.2 客户端库

11.4 兼容性规则

11.5 Schema Registry之外的选择

总结

第12章 流式处理

12.1 Kafka Streams

12.1.1 KStreams API DSL

12.1.2 KTable API

12.1.3 GlobalKTable API

12.1.4 Processor API

12.1.5 设置Kafka Streams

12.2 ksqlDB——一个事件流数据库

12.2.1 查询

12.2.2 本地开发

12.2.3 ksqlDB的架构

12.3 更进一步

12.3.1 Kafka改进提案

12.3.2 值得了解的Kafka项目

12.3.3 社区Slack频道

总结

附录A 安装

附录B 客户端示例

Kafka实战是2023年由人民邮电出版社出版,作者[美] 迪伦·斯科特。

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

你可能喜欢
Linux是怎样工作的 电子书
原富士通一线Linux内核开发工程师聚焦Linux核心功能,讲解了操作系统是怎样工作的。
软件测试技术实战:设计、工具及管理 电子书
看得懂、用得上的软件测试指南。
微信小程序开发图解案例教程:附精讲视频 电子书
一本书快书入门微信小程序。
微信小程序开发图解案例教程(第2版) 电子书
适读人群 :本书可供对微信小程序的开发有兴趣的读者自学,也可作为院校、培训机构微信小程序开发课程的教材。   微信小程序可以实现App软件的原生交互操作效果,无需安装卸载,解放用户手机内存。商家使用微信小程序也可以被更多用户找到自己的产品,成为有利的宣传。   《微信小程序开发图解案例教程》助你3步学会微信小程序设计:   Step1图、文、代码、视频快速理解小程序基本原理和应用方法;   Step2海量案例,边练边学;   Step3综合实战,感受真实商业项目制作过程;   平台支撑,免费赠送资源   1.全部案例源代码、素材、最终文件   2.全书电子教案   3.全书配套1399分钟高清精讲视频教程,手机扫码看或登录人邮学院免费观看   4.赠送8大类商业案例1332分钟视频课程
Vue.js前端开发技术 电子书
从理论到实践,带你渐进式了解Vue.js前端开发技术。