《构建Apache Kafka流数据应用》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(印)曼尼施·库马尔,尚沙勒·辛格,蒋守壮
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302509363
  • 页数:236 页
图书介绍:本书共13章,全面介绍了使用Apache Kafka等大数据工具设计和构建企业级流应用等方面的内容。它包括构建这种应用程序的最佳实践,并解决了一些常见的挑战,例如如何高效地使用Kafka和轻松处理高数据量。完成本书的学习,读者能使用Kafka设计高效的流数据应用程序。

第1章 消息系统介绍 1

理解消息系统的原则 2

理解消息系统 3

点对点消息系统 5

发布/订阅消息系统 8

AQMP 10

在大数据流应用程序中使用消息系统 12

总结 14

第2章 介绍Kafka分布式消息平台 16

Kakfa来源 16

Kafka架构 17

消息topics 20

消息分区 21

复制和复制日志 24

消息生产者 26

消息消费者 27

Zookeeper扮演的角色 27

总结 28

第3章 深入研究Kafka生产者 30

Kafka生产者内部机制 30

Kafka生产者API 33

Producer对象和ProducerRecord对象 35

自定义分区 38

其他生产者配置 40

Java编程语言:Kafka生产者示例 42

常见的消息发布模式 44

最佳实践 46

总结 48

第4章 深入研究Kafka消费者 49

Kafka消费者内部机制 50

理解Kafka消费者的职责 50

Kafka消费者API 52

消费者配置 52

订阅和轮询 54

提交和轮询 56

其他配置 59

利用Java实现Kafka消费者 60

利用Scala实现Kafka消费者 62

Rebalance listeners 64

常用的消息消费模式 64

最佳实践 67

总结 68

第5章 集成Kafka构建Spark Streaming应用 69

Spark介绍 70

Spark架构 70

Spark的核心 72

Spark生态系统 73

Spark Streaming 75

Receiver-based集成 75

Receiver-based approach的缺点 77

Receiver-based集成的Java示例 77

Receiver-based集成的Scala示例 79

Direct approach 80

Direct approach的Java示例 82

Direct approach的Scala示例 83

日志处理用例——欺诈IP检测 84

Maven 85

生产者 89

Reader属性 89

生产者代码 90

欺诈IP查找 92

暴露Hive表 93

Streaming代码 94

总结 97

第6章 集成Kafka构建Storm应用 98

Apache Storm介绍 98

Storm集群架构 99

Storm应用程序的概念 100

Apache Heron介绍 101

Heron架构 102

Heron topology架构 103

集成Apache Kafka与Apache Storm-Java 104

示例 105

集成Apache Kafka与Apache Storm-Scala 110

用例——使用Storm、Kafka和Hive处理日志 114

生产者 118

生产者代码 119

欺诈IP查找 122

Storm应用程序 123

运行项目 132

总结 133

第7章 使用Kafka与Confluent Platform 134

Confluent Platform介绍 135

深入Confluent Platform架构 136

理解Kafka Connect和Kafka Stream 139

Kafka Streams 139

使用Schema Registry与Avro交互 140

将Kafka数据移动到HDFS 142

Camus 142

运行Camus 143

Gobblin 144

Gobblin架构 144

Kafka Connect 146

Flume 147

总结 150

第8章 使用Kafka构建ETL管道 151

在ETL管道中使用Kafka 151

介绍Kafka Connect 153

深入研究Kafka Connect 154

介绍使用Kafka Connect示例 155

Kafka Connect常见的用例 159

总结 160

第9章 使用Kafka Streams构建流应用程序 161

介绍Kafka Streams 161

在流处理中使用Kafka 162

Kafka Stream——轻量级流处理库 163

Kafka Stream架构 164

集成框架的优势 166

理解Tables和Streams 167

Maven依赖 167

Kafka Stream单词计数 168

KTable 170

Kafka Stream使用案例 171

Kafka Streams的Maven依赖 171

reader属性 172

IP记录生产者 173

IP查询服务 176

欺诈检测应用程序 177

总结 179

第10章 Kafka集群部署 180

Kafka集群的内部结构 180

Zookeeper角色 181

复制 182

元数据(Metadata)请求处理 184

生产者(Producer)请求处理 184

消费者(Consumer)请求处理 185

容量规划 186

容量规划的目标 186

复制因子 186

内存 187

硬盘驱动器 187

网络 188

CPU 188

Kafka单集群部署 189

Kafka多集群部署 190

退役brokers 192

数据迁移 192

总结 193

第11章 在大数据应用中使用Kafka 194

管理Kafka的高容量 195

适当的硬件选择 195

生产者读取和消费者写入的选择 197

Kafka消息传递语义 198

至少一次传递 199

最多一次传递 202

正好一次传递 203

大数据和Kafka常见的使用模式 204

Kafka和数据治理 206

报警和监控 207

有用的Kafka指标 208

Kafka生产者指标 208

Kafka broker指标 209

Kafka消费者指标 209

总结 210

第12章 Kafka安全 211

Kafka安全的概述 211

SSL有线加密 212

Kafka启用SSL的步骤 213

为Kafka broker配置SSL 214

为Kafka客户端配置SSL 214

Kerberos SASL认证 215

在Kafka中启用SASL/GSSAPI的步骤 217

为Kafka broker配置SASL 217

为Kafka客户端配置SASL——生产者和消费者 219

理解ACL和授权 220

常见的ACL操作 221

ACLs列表 222

Zookeeper身份验证 223

Apache Ranger授权 224

为Ranger添加Kafka服务 224

添加策略(policies) 225

最佳实践 227

总结 229

第13章 流应用程序设计的考虑 230

延迟和吞吐量 231

数据和状态的持久性 232

数据源 232

外部数据查询 233

数据格式 233

数据序列化 234

并行度 234

无序的事件 235

消息处理语义 235

总结 236