计算机
类型
8.6
豆瓣评分
可以朗读
语音朗读
311千字
字数
2018-05-01
发行日期
展开全部
主编推荐语
大数据时代Kafka引擎优势:高吞吐量、高扩展性流式处理。
内容简介
在大数据时代,海量数据的收集与处理变得日益关键。这也催生了很多消息引擎系统的出现。作为其中的佼佼者,Kafka向来以高吞吐量、高扩展性流式处理框架而著称。Kafka的出现极大地提升了流式处理平台中消息队列的消息处理能力,因此也被越来越多的公司和组织所使用。随着对消息队列功能的不断完善,Kafka的“野心”不断膨胀,目前已将自己定位成一个分布式的流式处理框架,大有一统上下游的趋势。本书是一本系统并有实践指导意义的Kafka工具书和项目实践书。作者力图从Kafka的各个方面详尽展开对其进行全面的讲解,既包含了基本的概念、术语,同时也会引入大量的工程实践。
目录
- 封面
- 作者介绍
- 版权页
- 前言
- 目录
- 第1章 认识Apache Kafka
- 1.1 Kafka快速入门
- 1.1.1 下载并解压缩Kafka二进制代码压缩包文件
- 1.1.2 启动服务器
- 1.1.3 创建topic
- 1.1.4 发送消息
- 1.1.5 消费消息
- 1.2 消息引擎系统
- 1.2.1 消息设计
- 1.2.2 传输协议设计
- 1.2.3 消息引擎范型
- 1.2.4 Java消息服务
- 1.3 Kafka概要设计
- 1.3.1 吞吐量/延时
- 1.3.2 消息持久化
- 1.3.3 负载均衡和故障转移
- 1.3.4 伸缩性
- 1.4 Kafka基本概念与术语
- 1.4.1 消息
- 1.4.2 topic和partition
- 1.4.3 offset
- 1.4.4 replica
- 1.4.5 leader和follower
- 1.4.6 ISR
- 1.5 Kafka使用场景
- 1.5.1 消息传输
- 1.5.2 网站行为日志追踪
- 1.5.3 审计数据收集
- 1.5.4 日志收集
- 1.5.5 Event Sourcing
- 1.5.6 流式处理
- 1.6 本章小结
- 第2章 Kafka发展历史
- 2.1 Kafka的历史
- 2.1.1 背景
- 2.1.2 Kafka横空出世
- 2.1.3 Kafka开源
- 2.2 Kafka版本变迁
- 2.2.1 Kafka的版本演进
- 2.2.2 Kafka的版本格式
- 2.2.3 新版本功能简介
- 2.2.4 旧版本功能简介
- 2.3 如何选择Kafka版本
- 2.3.1 根据功能场景
- 2.3.2 根据客户端使用场景
- 2.4 Kafka与Confluent
- 2.5 本章小结
- 第3章 Kafka线上环境部署
- 3.1 集群环境规划
- 3.1.1 操作系统的选型
- 3.1.2 磁盘规划
- 3.1.3 磁盘容量规划
- 3.1.4 内存规划
- 3.1.5 CPU规划
- 3.1.6 带宽规划
- 3.1.7 典型线上环境配置
- 3.2 伪分布式环境安装
- 3.2.1 安装Java
- 3.2.2 安装ZooKeeper
- 3.2.3 安装单节点Kafka集群
- 3.3 多节点环境安装
- 3.3.1 安装多节点ZooKeeper集群
- 3.3.2 安装多节点Kafka
- 3.4 验证部署
- 3.4.1 测试topic创建与删除
- 3.4.2 测试消息发送与消费
- 3.4.3 生产者吞吐量测试
- 3.4.4 消费者吞吐量测试
- 3.5 参数设置
- 3.5.1 broker端参数
- 3.5.2 topic级别参数
- 3.5.3 GC参数
- 3.5.4 JVM参数
- 3.5.5 OS参数
- 3.6 本章小结
- 第4章 producer开发
- 4.1 producer概览
- 4.2 构造producer
- 4.2.1 producer程序实例
- 4.2.2 producer主要参数
- 4.3 消息分区机制
- 4.3.1 分区策略
- 4.3.2 自定义分区机制
- 4.4 消息序列化
- 4.4.1 默认序列化
- 4.4.2 自定义序列化
- 4.5 producer拦截器
- 4.6 无消息丢失配置
- 4.6.1 producer端配置
- 4.6.2 broker端配置
- 4.7 消息压缩
- 4.7.1 Kafka支持的压缩算法
- 4.7.2 算法性能比较与调优
- 4.8 多线程处理
- 4.9 旧版本producer
- 4.10 本章小结
- 第5章 consumer开发
- 5.1 consumer概览
- 5.1.1 消费者(consumer)
- 5.1.2 消费者组(consumer group)
- 5.1.3 位移(offset)
- 5.1.4 位移提交
- 5.1.5__consumer_offsets
- 5.1.6 消费者组重平衡(consumer group rebalance)
- 5.2 构建consumer
- 5.2.1 consumer程序实例
- 5.2.2 consumer脚本命令
- 5.2.3 consumer主要参数
- 5.3 订阅topic
- 5.3.1 订阅topic列表
- 5.3.2 基于正则表达式订阅topic
- 5.4 消息轮询
- 5.4.1 poll内部原理
- 5.4.2 poll使用方法
- 5.5 位移管理
- 5.5.1 consumer位移
- 5.5.2 新版本consumer位移管理
- 5.5.3 自动提交与手动提交
- 5.5.4 旧版本consumer位移管理
- 5.6 重平衡(rebalance)
- 5.6.1 rebalance概览
- 5.6.2 rebalance触发条件
- 5.6.3 rebalance分区分配
- 5.6.4 rebalance generation
- 5.6.5 rebalance协议
- 5.6.6 rebalance流程
- 5.6.7 rebalance监听器
- 5.7 解序列化
- 5.7.1 默认解序列化器
- 5.7.2 自定义解序列化器
- 5.8 多线程消费实例
- 5.8.1 每个线程维护一个KafkaConsumer
- 5.8.2 单KafkaConsumer实例+多worker线程
- 5.8.3 两种方法对比
- 5.9 独立consumer
- 5.10 旧版本consumer
- 5.10.1 概览
- 5.10.2 high-level consumer
- 5.10.3 low-level consumer
- 5.11 本章小结
- 第6章 Kafka设计原理
- 6.1 broker端设计架构
- 6.1.1 消息设计
- 6.1.2 集群管理
- 6.1.3 副本与ISR设计
- 6.1.4 水印(watermark)和leader epoch
- 6.1.5 日志存储设计
- 6.1.6 通信协议(wire protocol)
- 6.1.7 controller设计
- 6.1.8 broker请求处理
- 6.2 producer端设计
- 6.2.1 producer端基本数据结构
- 6.2.2 工作流程
- 6.3 consumer端设计
- 6.3.1 consumer group状态机
- 6.3.2 group管理协议
- 6.3.3 rebalance场景剖析
- 6.4 实现精确一次处理语义
- 6.4.1 消息交付语义
- 6.4.2 幂等性producer(idempotent producer)
- 6.4.3 事务(transaction)
- 6.5 本章小结
- 第7章 管理Kafka集群
- 7.1 集群管理
- 7.1.1 启动broker
- 7.1.2 关闭broker
- 7.1.3 设置JMX端口
- 7.1.4 增加broker
- 7.1.5 升级broker版本
- 7.2 topic管理
- 7.2.1 创建topic
- 7.2.2 删除topic
- 7.2.3 查询topic列表
- 7.2.4 查询topic详情
- 7.2.5 修改topic
- 7.3 topic动态配置管理
- 7.3.1 增加topic配置
- 7.3.2 查看topic配置
- 7.3.3 删除topic配置
- 7.4 consumer相关管理
- 7.4.1 查询消费者组
- 7.4.2 重设消费者组位移
- 7.4.3 删除消费者组
- 7.4.4 kafka-consumer-offset-checker
- 7.5 topic分区管理
- 7.5.1 preferred leader选举
- 7.5.2 分区重分配
- 7.5.3 增加副本因子
- 7.6 Kafka常见脚本工具
- 7.6.1 kafka-console-producer脚本
- 7.6.2 kafka-console-consumer脚本
- 7.6.3 kafka-run-class脚本
- 7.6.4 查看消息元数据
- 7.6.5 获取topic当前消息数
- 7.6.6 查询__consumer_offsets
- 7.7 API方式管理集群
- 7.7.1 服务器端API管理topic
- 7.7.2 服务器端API管理位移
- 7.7.3 客户端API管理topic
- 7.7.4 客户端API查看位移
- 7.7.5 0.11.0.0版本客户端API
- 7.8 MirrorMaker
- 7.8.1 概要介绍
- 7.8.2 主要参数
- 7.8.3 使用实例
- 7.9 Kafka安全
- 7.9.1 SASL+ACL
- 7.9.2 SSL加密
- 7.10 常见问题
- 7.11 本章小结
- 第8章 监控Kafka集群
- 8.1 集群健康度检查
- 8.2 MBean监控
- 8.2.1 监控指标
- 8.2.2 指标分类
- 8.2.3 定义和查询JMX端口
- 8.3 broker端JMX监控
- 8.3.1 消息入站/出站速率
- 8.3.2 controller存活JMX指标
- 8.3.3 备份不足的分区数
- 8.3.4 leader分区数
- 8.3.5 ISR变化速率
- 8.3.6 broker I/O工作处理线程空闲率
- 8.3.7 broker网络处理线程空闲率
- 8.3.8 单个topic总字节数
- 8.4 clients端JMX监控
- 8.4.1 producer端JMX监控
- 8.4.2 consumer端JMX监控
- 8.5 JVM监控
- 8.5.1 进程状态
- 8.5.2 GC性能
- 8.6 OS监控
- 8.7 主流监控框架
- 8.7.1 JmxTool
- 8.7.2 kafka-manager
- 8.7.3 Kafka Monitor
- 8.7.4 Kafka Offset Monitor
- 8.7.5 CruiseControl
- 8.8 本章小结
- 第9章 调优Kafka集群
- 9.1 引言
- 9.2 确定调优目标
- 9.3 集群基础调优
- 9.3.1 禁止atime更新
- 9.3.2 文件系统选择
- 9.3.3 设置swapiness
- 9.3.4 JVM设置
- 9.3.5 其他调优
- 9.4 调优吞吐量
- 9.5 调优延时
- 9.6 调优持久性
- 9.7 调优可用性
- 9.8 本章小结
- 第10章 Kafka Connect与Kafka Streams
- 10.1 引言
- 10.2 Kafka Connect
- 10.2.1 概要介绍
- 10.2.2 standalone Connect
- 10.2.3 distributed Connect
- 10.2.4 开发connector
- 10.3 Kafka Streams
- 10.3.1 流处理
- 10.3.2 Kafka Streams核心概念
- 10.3.3 Kafka Streams与其他框架的异同
- 10.3.4 Word Count实例
- 10.3.5 Kafka Streams应用开发
- 10.3.6 Kafka Streams状态查询
- 10.4 本章小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。