• 深入理解Kafka与Pulsar:消息流平台的实践与剖析
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

深入理解Kafka与Pulsar:消息流平台的实践与剖析

正版新书 新华官方库房直发 可开电子发票

69 5.0折 138 全新

库存6件

江苏无锡
认证卖家担保交易快速发货售后保障

作者梁国斌

出版社电子工业出版社

出版时间2022-08

版次1

装帧其他

货号文轩11.25

上书时间2024-11-26

   商品详情   

品相描述:全新
图书标准信息
  • 作者 梁国斌
  • 出版社 电子工业出版社
  • 出版时间 2022-08
  • 版次 1
  • ISBN 9787121440014
  • 定价 138.00元
  • 装帧 其他
  • 开本 16开
  • 页数 460页
  • 字数 644千字
【内容简介】
本书详细介绍了Kafka与Pulsar的使用方式,并深入分析了它们的实现机制。通过阅读本书,读者可以快速入门使用Kafka与Pulsar,并深入理解它们的实现原理。 本书通过大量实践示例介绍了Kafka与Pulsar的使用方式,包括管理脚本与客户端(生产者、消费者)的使用方式、关键的配置项、ACK提交方式等基础应用,以及安全机制、跨地域复制机制、连接器/流计算引擎、常用监控管理平台等高级应用。这些内容可以帮助读者深入掌握Kafka与Pulsar的使用方式,并完成日常管理工作。另外,本书深入分析了Kafka与Pulsar的实现原理,包括客户端(生产者、消费者)的设计与实现、Broker网络模型、主题(分区)分配与负载均衡机制,以及磁盘存储与性能优化方案、数据同步机制、扩容与故障转移机制。最后,本书介绍了Kafka与Pulsar的事务机制,并深入分析了Kafka事务的实现及Kafka最新的分布式协作组件KRaft模块。这部分内容可以帮助读者轻松理解Kafka与Pulsar的架构设计与实现原理。
【作者简介】
后端高级开发,源码爱好者,对Netty、Spring、Redis、Kafka、Pulsar等中间件有深入研究,技术公众号binecy作者。
【目录】
第1部分 基础应用

第1章 Kafka与Pulsar概述

1.1 简介

1.2 特性

1.3 概念

1.3.1 Kafka基础概念

1.3.2 Pulsar基础概念

1.4 本章总结

第2章 Kafka的部署与调试

2.1 安装Kafka集群

2.1.1 部署ZooKeeper集群

2.1.2 部署Kafka集群

2.2 调试Kafka

2.3 本章总结

第3章 Kafka的应用

3.1 脚本

3.1.1 主题管理

3.1.2 生产者与消费者

3.1.3 动态配置

3.2 客户端

3.2.1 生产者

3.2.2 消费者

3.3 消息序列化

3.4 配额

3.5 本章总结

第4章 Pulsar的部署与调试

4.1 本地部署

4.2 集群部署

4.2.1 ZooKeeper集群部署

4.2.2 初始化集群元数据

4.2.3 部署BookKeeper集群

4.2.4 部署Pulsar Broker

4.3 调试Pulsar

4.3.1 调试Pulsar Broker源码

4.3.2 调试BookKeeper

4.4 本章总结

第5章 Pulsar的应用

5.1 租户

5.2 命名空间

5.2.1 消息保留和过期

5.2.2 持久化策略

5.2.3 消息投递速率

5.3 主题

5.3.1 创建主题

5.3.2 发送、消费消息

5.3.3 管理主题

5.4 客户端

5.4.1 生产者

5.4.2 消费者

5.5 Schema

5.5.1 Schema的类型与使用示例

5.5.2 Schema演化与兼容

5.5.3 管理Schema

5.6 资源隔离

5.6.1 Broker隔离

5.6.2 Bookie隔离

5.7 兼容Kafka客户端

5.8 BookKeeper使用示例

5.9 本章总结

第2部分 客户端与Broker计算层

第6章 Kafka和Pulsar的架构

6.1 ZooKeeper的作用

6.2 Kafka的架构设计

6.2.1 元数据管理

6.2.2 发布/订阅模式

6.2.3 磁盘存储的设计与优化

6.2.4 数据副本

6.2.5 系统伸缩

6.2.6 故障转移

6.3 Pulsar的架构设计

6.3.1 Pulsar的计算层

6.3.2 Pulsar的存储层

6.3.3 系统伸缩

6.3.4 故障转移

6.4 源码架构

6.4.1 Kafka

6.4.2 Pulsar

6.4.3 BookKeeper

6.5 本章总结

第7章 Kafka的主题

7.1 CreateTopics请求的处理流程

7.1.1 创建主题

7.1.2 分区副本分配规则

7.1.3 存储主题元数据

7.2 KafkaController处理新主题

7.3 本章总结

第8章 Kafka的生产者与消息发布

8.1 生产者发送消息

8.1.1 消息发送流程

8.1.2 消息累积器与消息批次

8.1.3 Sender线程

8.1.4 TCP通信协议

8.1.5 元数据刷新机制

8.2 Broker接收消息

8.2.1 Broker处理消息流程

8.2.2 延迟操作与时间轮

8.3 本章总结

第9章 Kafka的消费者与消息订阅

9.1 消费组协作机制

9.1.1 分区分配器

9.1.2 重平衡的设计

9.1.3 实战:使用CooperativeStickyAssignor分区分配器

9.1.4 重平衡的实现

9.2 心跳与元数据更新

9.3 ACK管理

9.3.1 消费者初始化偏移量

9.3.2 ACK偏移量的提交与存储

9.4 读取消息

9.4.1 消费者发送Fetch请求

9.4.2 Broker处理Fetch请求

9.5 本章总结

第10章 Pulsar的主题

10.1 租户与命名空间

10.2 主题

10.2.1 创建主题

10.2.2 初始化主题

10.2.3 绑定主题

10.3 Broker负载均衡

10.3.1 负载报告上传

10.3.2 为bundle选择Broker节点

10.4 bundle管理

10.4.1 选举leader节点

10.4.2 bundle卸载机制

10.4.3 bundle切分机制

10.5 本章总结

第11章 Pulsar的生产者与消息发布

11.1 生产者发送消息

11.1.1 初始化生产者

11.1.2 生产者发送消息流程

11.2 Broker处理消息

11.2.1 写入消息

11.2.2 切换Ledger

11.3 本章总结

第12章 Pulsar的消费者与消息订阅

12.1 消费者订阅消息

12.1.1 消费者的初始化

12.1.2 接收消息

12.1.3 确认超时与取消确认

12.2 Broker读取与推送消息

12.2.1 处理Subscribe请求

12.2.2 推送消息

12.3 ACK机制

12.3.1 ACK机制的设计

12.3.2 ACK机制的实现

12.4 消息清除

12.4.1 历史消息清除

12.4.2 清除backlog消息

12.4.3 清除过期数据

12.5 本章总结

第3部分 分布式数据存储

第13章 Kafka存储机制与读写流程

13.1 数据存储机制的设计

13.2 消息写入流程

13.3 消息读取流程

13.4 日志管理

13.4.1 日志加载

13.4.2 日志刷盘

13.4.3 数据清理

13.4.4 数据去重

13.5 本章总结

第14章 Kafka主从同步

14.1 成为leader/follow副本

14.2 follow副本同步流程

14.2.1 同步流程与数据一致性

14.2.2 LeaderEpoch机制

14.2.3 follow副本拉取消息

14.3 leader副本更新

14.3.1 更新ISR集合

14.3.2 更新高水位

14.4 本章总结

第15章 Kafka分布式协同

15.1 KafkaController选举

15.1.1 KafkaController元数据

15.1.2 ControllerEpoch机制

15.1.3 选举流程

15.2 ZooKeeper监控机制

15.3 故障转移

15.3.1 分区、副本状态机

15.3.2 分区状态切换流程

15.3.3 副本状态切换流程

15.4 实战:Preferred Replica重平衡

15.5 实战:增加分区数量

15.6 实战:Kafka集群扩容

15.7 本章总结

第16章 BookKeeper客户端

16.1 客户端设计

16.2 客户端写入

16.2.1 Ledger创建流程

16.2.2 数据写入流程

16.2.3 处理写入结果

16.2.4 故障转移

16.2.5 LAC上报

16.2.6 限制生产者数量

16.3 客户端读取

16.3.1 消费者读取数据

16.3.2 客户端Recover

16.4 本章总结

第17章 BookKeeper服务端

17.1 Bookie设计

17.2 Bookie写入流程

17.2.1 Bookie初始化

17.2.2  Journal写入流程

17.2.3 Ledger写入流程

17.2.4 Ledger的数据存储格式

17.3 Bookie读取数据

17.4 Bookie数据清除

17.5 Bookie Recovery

17.5.1 Auditor

17.5.2 ReplicationWorker

17.6 本章总结

第4部分 事务与KRaft模块

第18章 Kafka与Pulsar事务概述

18.1 为什么需要事务

18.1.1 幂等发送

18.1.2 事务保证

18.2 Kafka事务应用示例

18.3 Pulsar事务应用示例

18.4 本章总结

第19章 Kafka事务的设计与实现

19.1 Kafka的事务设计

19.2 事务初始化流程

19.2.1 事务定义

19.2.2 生产者初始化事务

19.2.3 生产者启动事务

19.3 事务消息发送与处理流程

19.3.1 事务分区发送与处理流程

19.3.2 生产者发送事务消息

19.3.3 Broker处理事务消息

19.3.4 ACK偏移量发送与处理流程

19.4 事务提交流程

19.4.1 生产者提交事务

19.4.2 协调者完成事务

19.5 本章总结

第20章 KRaft模块概述

20.1 为什么要移除ZooKeeper

20.2 部署与调试KRaft模块

20.3 Raft算法

20.3.1 leader选举

20.3.2 日志复制

20.3.3 安全性

20.4 本章总结

第21章 KRaft模块的设计与实现原理

21.1 KRaft请求处理流程

21.1.1 Raft状态

21.1.2 Raft请求类型

21.1.3 处理Raft请求

21.2 KRaft leader选举机制

21.2.1 初始化Raft状态

21.2.2 发送投票请求

21.2.3 投票流程

21.2.4 当选leader节点

21.3 KRaft生成Record数据

21.4 KRaft数据存储机制

21.5 KRaft数据同步机制

21.6 KRaft提交Record数据

21.6.1 监听器机制

21.6.2 BrokerMetadataListener

21.6.3 QuorumMetaLogListener

21.7 KRaft节点监控与故障转移机制

21.7.1 节点注册

21.7.2 心跳请求

21.7.3 故障转移

21.8 KRaft数据清理机制

21.8.1 快照管理

21.8.2 历史数据清理

21.9 本章总结

第5部分 高级应用

第22章 安全

22.1 TLS加密

22.1.1 准备TLS证书和密钥

22.1.2 Kafka配置

22.1.3 Pulsar配置

22.2 认证与授权

22.2.1 Kafka SCRAM认证与授权

22.2.2 Pulsar JWT认证与授权

22.3 本章总结

第23章 跨地域复制与分层存储

23.1 跨地域复制

23.1.1 MirrorMaker

23.1.2 Pulsar跨地域复制机制

23.2 分层存储

23.3 本章总结

第24章 监控与管理

24.1 Kafka监控与管理平台

24.1.1 Kafka监控

24.1.2 Kafka管理平台

24.2 Pulsar监控与管理平台

24.2.1 Pulsar监控

24.2.2 Pulsar管理平台

24.3 本章总结

第25章 连接器

25.1 Kafka Connect

25.1.1 应用示例

25.1.2 开发实践

25.2 Pulsar IO

25.2.1 应用示例

25.2.2 开发实践

25.3 本章总结

第26章 流计算引擎

26.1 Kafka Stream

26.1.1 应用示例

26.1.2 时间窗口

26.1.3 语义保证和线程模型

26.2 Pulsar Function

26.2.1 应用示例

26.2.2 部署

26.2.3 时间窗口

26.2.4 Function运行模式和消息语义保证

26.3 本章总结
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP