展开全部

主编推荐语

图文并重详解Kafka,从思想原理,到体系架构,再到技术实现。

内容简介

本书是基于作者多年的教学与实践进行编写,重点介绍Kafka消息系统的核心原理与架构,内容涉及开发、运维、管理与架构。

全书共11章,第1章,介绍Kafka体系架构基础,包括消息系统的基本知识、Kafka的体系架构与ZooKeeper;第2章,介绍Kafka的环境部署,以及基本的应用程序开发;第3章,介绍Kafka的生产者及其运行机制,包括生产者的创建和执行过程、生产者的消息发送模式和生产者的高级特性等;第4章,介绍Kafka的消费者及其运行机制,包括消费者的消费模式、消费者组与消费者、消费者的偏移量与提交及消费者的高级特性等;第5章,介绍Kafka服务器端的核心原理,包括主题与分区、消息的持久性与传输保障、Kafka配额与日志的管理;第6章,介绍Kafka的流处理引擎Kafka Stream;第7章,介绍使用不同的工具监控Kafka,包括Kafka Manager、Kafka Tool、KafkaOffsetMonitor和JConsole;第8章至第11章,介绍Kafka与外部系统的集成,包括集成Flink、集成Storm、集成Spark和集成Flume。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第1章 Kafka体系架构基础
  • 1.1 什么是消息系统
  • 1.2 消息系统的分类
  • 1.2.1 同步消息机制与异步消息机制
  • 1.2.2 队列与主题
  • 1.3 Kafka的体系架构
  • 1.3.1 消息服务器
  • 1.3.2 主题、分区与副本
  • 1.3.3 生产者
  • 1.3.4 消费者与消费者组
  • 1.4 分布式协调服务ZooKeeper
  • 1.4.1 ZooKeeper集群的架构
  • 1.4.2 ZooKeeper的节点类型
  • 1.4.3 ZooKeeper的观察机制
  • 1.4.4 ZooKeeper的分布式锁
  • 1.4.5 ZooKeeper在Kafka中的作用
  • 1.5 准备实验环境
  • 1.5.1 安装CentOS操作系统
  • 1.5.2 配置CentOS操作系统
  • 1.5.3 安装JDK
  • 第2章 部署Kafka
  • 2.1 部署ZooKeeper
  • 2.1.1 ZooKeeper的核心配置文件
  • 2.1.2 部署ZooKeeper的Standalone模式
  • 2.1.3 部署ZooKeeper的集群模式
  • 2.1.4 测试ZooKeeper集群
  • 2.2 安装部署Kafka
  • 2.2.1 单机单Broker的部署
  • 2.2.2 单机多Broker的部署
  • 2.2.3 多机多Broker的部署
  • 2.2.4 使用命令行测试Kafka
  • 2.3 Kafka配置参数详解
  • 2.4 Kafka在ZooKeeper中保存的数据
  • 2.5 开发客户端程序测试Kafka
  • 2.5.1 开发Java版本的客户端程序
  • 2.5.2 开发Scala版本的客户端程序
  • 第3章 Kafka的生产者
  • 3.1 Kafka生产者的执行过程
  • 3.2 创建Kafka生产者
  • 3.2.1 创建基本的消息生产者
  • 3.2.2 发送自定义消息对象
  • 3.3 生产者的消息发送模式
  • 3.4 生产者的高级特性
  • 3.4.1 生产者分区机制
  • 3.4.2 生产者压缩机制
  • 3.4.3 生产者拦截器
  • 3.5 生产者的参数配置
  • 第4章 Kafka的消费者
  • 4.1 Kafka消费者的消费模式
  • 4.1.1 消息的推送模式
  • 4.1.2 消息的拉取模式
  • 4.1.3 推送模式与拉取模式的区别
  • 4.1.4 消息者组
  • 4.2 创建Kafka消费者
  • 4.2.1 创建基本的消息消费者
  • 4.2.2 接收自定义消息对象
  • 4.3 消费者与消费者组
  • 4.3.1 消费者和消费者组与分区的关系
  • 4.3.2 分区的重平衡
  • 4.4 消费者的偏移量与提交
  • 4.4.1 偏移量与重平衡
  • 4.4.2 偏移量的提交方式
  • 4.5 消费者的高级特性
  • 4.5.1 消费者的分区策略
  • 4.5.2 重平衡监听器
  • 4.5.3 消费者的拦截器
  • 4.5.4 消费者的优雅退出
  • 4.6 消费者的参数配置
  • 第5章 Kafka的服务器端
  • 5.1 主题与分区
  • 5.1.1 主题和分区的关系
  • 5.1.2 主题的管理
  • 5.1.3 使用KafkaAdminClient
  • 5.2 消息的持久性
  • 5.2.1 Kafka消息持久性概述
  • 5.2.2 Kafka的持久化原理解析
  • 5.2.3 持久化的读写流程
  • 5.2.4 为什么要建立分段和索引
  • 5.3 消息的传输保障
  • 5.3.1 生产者的ack机制
  • 5.3.2 消费者与高水位线
  • 5.4 副本和Leader副本的选举
  • 5.5 Kafka配额的管理
  • 5.6 Kafka的日志删除与压缩
  • 5.6.1 日志的删除
  • 5.6.2 日志的压缩
  • 5.6.3 清理的实现细节
  • 5.7 Kafka与ZooKeeper
  • 5.7.1 ZooKeeper扮演的角色
  • 5.7.2 Kafka在ZooKeeper中存储的数据
  • 5.8 服务器端参数设置
  • 第6章 流处理引擎Kafka Stream
  • 6.1 Kafka Stream的体系架构
  • 6.1.1 为什么需要Kafka Stream
  • 6.1.2 Kafka Stream的体系架构
  • 6.1.3 执行Kafka Stream示例程序
  • 6.2 开发自己的Kafka Stream应用程序
  • 6.3 Kafka Stream中的数据模型
  • 6.3.1 KStream与KTable
  • 6.3.2 状态管理
  • 6.4 Kafka Stream中的窗口计算
  • 6.4.1 时间
  • 6.4.2 窗口
  • 第7章 监控Kafka
  • 7.1 Kafka的监控指标
  • 7.2 使用Kafka客户端监控工具
  • 7.2.1 Kafka Manager
  • 7.2.2 Kafka Tool
  • 7.2.3 KafkaOffsetMonitor
  • 7.2.4 JConsole
  • 7.3 监控ZooKeeper
  • 第8章 Kafka与Flink集成
  • 8.1 Flink的体系架构
  • 8.1.1 Flink中的数据集
  • 8.1.2 Flink的生态圈体系
  • 8.1.3 Flink的体系架构
  • 8.2 安装部署Flink Standalone模式
  • 8.2.1 Flink Standalone模式的部署
  • 8.2.2 在Standalone模式上执行Flink任务
  • 8.3 Flink DataSet API算子
  • 8.4 Flink DataStream API算子
  • 8.5 集成Flink与Kafka
  • 8.5.1 将Kafka作为Flink的Source Connector
  • 8.5.2 将Kafka作为Flink的Sink Connector
  • 第9章 Kafka与Storm集成
  • 9.1 离线计算与流式计算
  • 9.2 Apache Storm的体系架构
  • 9.3 部署Apache Storm
  • 9.3.1 部署Storm的伪分布模式
  • 9.3.2 部署Storm的全分布模式
  • 9.3.3 Storm HA模式
  • 9.4 执行Apache Storm任务
  • 9.4.1 执行WordCountTopology
  • 9.4.2 Storm的其他管理命令
  • 9.5 开发自己的Storm任务
  • 9.5.1 Storm Topology任务处理的数据模型
  • 9.5.2 开发自己的WordCountTopology任务
  • 9.6 集成Kafka与Storm
  • 9.6.1 Storm从Kafka中接收数据
  • 9.6.2 测试Kafka与Storm的集成
  • 9.6.3 Storm将数据输出到Kafka
  • 第10章 Kafka与Spark集成
  • 10.1 Spark基础
  • 10.1.1 Spark的特点
  • 10.1.2 Spark的体系架构
  • 10.2 安装部署Spark环境
  • 10.2.1 伪分布模式的单节点环境部署
  • 10.2.2 全分布模式的环境安装部署
  • 10.3 执行Spark任务
  • 10.3.1 使用spark-submit提交任务
  • 10.3.2 交互式命令行工具spark-shell
  • 10.4 Spark的核心编程模型
  • 10.4.1 什么是RDD
  • 10.4.2 RDD的算子
  • 10.4.3 开发自己的WordCount程序
  • 10.5 流式计算引擎Spark Streaming
  • 10.5.1 什么是Spark Streaming
  • 10.5.2 离散流
  • 10.5.3 开发自己的Spark Streaming程序
  • 10.6 集成Kafka与Spark Streaming
  • 10.6.1 基于Receiver的方式
  • 10.6.2 直接读取的方式
  • 第11章 Kafka与Flume集成
  • 11.1 Apache Flume基础
  • 11.1.1 Apache Flume的体系架构
  • 11.1.2 Apache Flume的安装和部署
  • 11.2 Flume的Source组件
  • 11.3 Flume的Channel组件
  • 11.4 Flume的Sink组件
  • 11.5 集成Kafka与Flume
展开全部

评分及书评

4.5
4个评分
  • 用户头像
    给这本书评了
    5.0

    随着信息技术的不断发展,数据出现爆炸式增长。为了实现对大数据实时高效的分析与处理,Kafka 被广泛应用于大数据实时计算架构中。随着数据的不断增长,Kafka 也得到了不断的发展。各大科技巨头在其自身的大数据平台架构中也大量将 Kafka 用于实时数据的存储与转发,如阿里云大数据平台、腾讯大数据平台、华为大数据平台等。因此,掌握 Kafka 无疑是实现大数据实时计算架构中非常重要的一个组成部分。

      转发
      评论

    出版方

    电子工业出版社

    电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。