第1章 消息系统介绍
理解消息系统的原则
理解消息系统
点对点消息系统
发布/订阅消息系统
AQMP
在大数据流应用程序中使用消息系统
总结
第2章 介绍Kakfa分布式消息平台
Kakfa来源
KaVa架构
消息topics
消息分区
复制和复制日志
消息生产者
消息消费者
Zookeeper扮演的角色
总结
第3章 深入研究Kakfa生产者
Kafka生产者内部机制
Kakfa生产者API
Producer对象和ProducerRecord对象
自定义分区
其他生产者配置
Java编程语言:Kafka生产者示例
常见的消息发布模式
最佳实践
总结
第4章 深入研究Kafka消费者
Kafka消费者内部机制
理解Kafka消费者的职责
Kafka消费者API
消费者配置
订阅和轮询
提交和轮询
其他配置
利用Java实现Kafka消费者
利用Scala实现Kafka消费者
Rebalance listeners
常用的消息消费模式
最佳实践
总结
第5章 集成Kafka 构建Spark Streaming应用
Spark介绍
Spark架构
Spark的核心
Spark生态系统
Spark Streaming
Receiver-based集成
Receiver-based approach的缺点
Receiver-based集成的Java示例
Receiver-based集成的Scala示例
Direct approach
Direct approach的Java示例
Direct approach的Scala示例
日志处理用例—欺诈IP检测
Maven
生产者
Reader属性
生产者代码
欺诈IP查找
暴露Hive表
Streaming代码
总结
第6章 集成Kafka构建Storm应用
Apache Storm介绍
Storm集群架构
Storm应用程序的概念
Apache Heron介绍
Heron架构
Heron topology架构
集成Apache Kafka与Apache Storm - Java
示 例
集成Apache Kafka与Apache Storm - Scala
用例—使用Storm、Kafka和Hive处理日志
生产者
生产者代码
欺诈IP查找
Storm应用程序
运行项目
总结
第7章 使用Kafka与 Confluent Platform
Confluent Platform介绍
深入Confluent Platform架构
理解Kafka Connect 和 Kafka Stream
Kafka Streams
使用Schema Registry与Avro交互
将Kafka数据移动到HDFS
Camus
运行Camus
Gobblin
Gobblin架构
Kafka Connect
Flume
总结
第8章 使用Kafka构建ETL管道
在ETL管道中使用Kafka
介绍Kafka Connect
深入研究Kafka Connect
介绍使用Kafka Connect示例
Kafka Connect常见的用例
总结
第9章 使用Kafka Streams 构建流应用程序
介绍Kafka Streams
在流处理中使用Kafka
Kafka Stream—轻量级流处理库
Kafka Stream架构
集成框架的优势
理解Tables和Streams
Maven依赖
Kafka Stream单词计数
KTable
Kafka Stream使用案例
Kafka Streams的Maven依赖
reader属性
IP记录生产者
IP查询服务
欺诈检测应用程序
总结
第10章 Kafka集群部署
Kafka集群的内部结构
Zookeeper角色
复制
元数据(Metadata)请求处理
生产者(Producer)请求处理
消费者(Consumer)请求处理
容量规划
容量规划的目标
复制因子
内存
硬盘驱动器
网络
CPU
Kafka单集群部署
Kafka多集群部署
退役brokers
数据迁移
总结
第11章 在大数据应用中使用Kafka
管理Kafka的高容量
适当的硬件选择
生产者读取和消费者写入的选择
Kafka消息传递语义
至少一次传递
最多一次传递
正好一次传递
大数据和Kafka常见的使用模式
Kafka和数据治理
报警和监控
有用的Kafka指标
Kafka生产者指标
Kafka broker指标
Kafka消费者指标
总结
第12章 Kafka安全
Kafka安全的概述
SSL有线加密
Kafka启用SSL的步骤
为Kafka broker配置SSL
为Kafka客户端配置SSL
Kerberos SASL认证
在Kafka中启用SASL/GSSAPI的步骤
为Kafka broker配置SASL
为Kafka客户端配置SASL―生产者和消费者
理解ACL和授权
常见的ACL操作
ACLs列表
Zookeeper身份验证
Apache Ranger授权
为Ranger添加Kafka服务
添加策略(policies)
最佳实践
总结
第13章 流应用程序设计的考虑
延迟和吞吐量
数据和状态的持久性
数据源
外部数据查询
数据格式
数据序列化
并行度
无序的事件
消息处理语义
总结