当前位置:首页 > 数据库 >
《Kafka技术内幕:图文详解Kafka源码设计与实现》电子书封面

Kafka技术内幕:图文详解Kafka源码设计与实现

  • 发布时间:2019年11月25日 09:46:46
  • 作者:郑奇煌
  • 大小:112.4 MB
  • 类别:Kafka电子书
  • 格式:PDF
  • 版本:全书扫描版
  • 评分:8.1

    Kafka技术内幕:图文详解Kafka源码设计与实现 PDF 全书扫描版

      给大家带来的一篇关于Kafka相关的电子书资源,介绍了关于Kafka、技术内幕、Kafka源码设计、实现方面的内容,本书是由未知人民邮电出版社出版,格式为PDF,资源大小112.4 MB,郑奇煌编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.5。

      内容介绍

      文图详解Kafka的內部基本原理、设计与保持 全方位剖析以Kafka为管理中心的分布式流服务平台 Kafka新特性详解,包含射频连接器、流解决 Kafka自LinkedIn开源系统至今就以性能、高货运量、分布式的特性而出名,这书以0.10版本的源代码为基本,详细分析了Kafka的设计与保持,包含经营者和顾客的信息解决步骤,新老顾客不一样的设计方法,储存层的保持,协调者和控制板怎样保证Kafka集群的分布式和容错机制特性,二种同歩集群专用工具MirrorMaker和uReplicator,流解决的二种API及其Kafka的一些高級特性等。 《Kafka技术性内情 文图详解Kafka源代码设计与保持》合适Kafka开发者阅读文章。

      目录

      • 第1章 Kafka入门 1
      • 1.1 Kafka流式数据平台 1
      • 1.2 Kafka的基本概念 3
      • 1.2.1 分区模型 3
      • 1.2.2 消费模型 4
      • 1.2.3 分布式模型 5
      • 1.3 Kafka的设计与实现 6
      • 1.3.1 文件系统的持久化与数据传输效率 6
      • 1.3.2 生产者与消费者 8
      • 1.3.3 副本机制和容错处理 10
      • 1.4 快速开始 11
      • 1.4.1 单机模式 12
      • 1.4.2 分布式模式 14
      • 1.4.3 消费组示例 16
      • 1.5 环境准备 18
      • 第2章 生产者 22
      • 2.1 新生产者客户端 22
      • 2.1.1 同步和异步发送消息 23
      • 2.1.2 客户端消息发送线程 29
      • 2.1.3 客户端网络连接对象 31
      • 2.1.4 选择器处理网络请求 35
      • 2.2 旧生产者客户端 43
      • 2.2.1 事件处理器处理客户端发送的消息 44
      • 2.2.2 对消息集按照节点和分区进行整理 46
      • 2.2.3 生产者使用阻塞通道发送请求 48
      • 2.3 服务端网络连接 49
      • 2.3.1 服务端使用接收器接受客户端的连接 50
      • 2.3.2 处理器使用选择器的轮询处理网络请求 53
      • 2.3.3 请求通道的请求队列和响应队列 56
      • 2.3.4 Kafka请求处理线程 58
      • 2.3.5 服务端的请求处理入口 58
      • 2.4 小结 60
      • 第3章 消费者:高级API和低级API 61
      • 3.1 消费者启动和初始化 67
      • 3.1.1 创建并初始化消费者连接器 69
      • 3.1.2 消费者客户端的线程模型 70
      • 3.1.3 重新初始化消费者 72
      • 3.2 消费者再平衡操作 73
      • 3.2.1 分区的所有权 74
      • 3.2.2 为消费者分配分区 75
      • 3.2.3 创建分区信息对象 78
      • 3.2.4 关闭和更新拉取线程管理器 80
      • 3.2.5 分区信息对象的偏移量 80
      • 3.3 消费者拉取数据 82
      • 3.3.1 拉取线程管理器 82
      • 3.3.2 抽象拉取线程 87
      • 3.3.3 消费者拉取线程 90
      • 3.4 消费者消费消息 94
      • 3.4.1 Kafka消息流 94
      • 3.4.2 消费者迭代消费消息 95
      • 3.5 消费者提交分区偏移量 97
      • 3.5.1 提交偏移量到ZK 98
      • 3.5.2 提交偏移量到内部主题 99
      • 3.5.3 连接偏移量管理器 101
      • 3.5.4 服务端处理提交偏移量的请求 103
      • 3.5.5 缓存分区的偏移量 106
      • 3.6 消费者低级API示例 108
      • 3.6.1 消息消费主流程 109
      • 3.6.2 找出分区的主副本 112
      • 3.6.3 获取分区的读取偏移量 113
      • 3.6.4 发送拉取请求并消费消息 116
      • 3.7 小结 117
      • 3.7.1 消费者线程模型 117
      • 3.7.2 再平衡和分区分配 119
      • 第4章 新消费者 121
      • 4.1 新消费者客户端 125
      • 4.1.1 消费者的订阅状态 125
      • 4.1.2 消费者轮询的准备工作 134
      • 4.1.3 消费者轮询的流程 138
      • 4.1.4 消费者拉取消息 146
      • 4.1.5 消费者获取记录 149
      • 4.1.6 消费消息 160
      • 4.2 消费者的网络客户端轮询 161
      • 4.2.1 异步请求 162
      • 4.2.2 异步请求高级模式 169
      • 4.2.3 网络客户端轮询 184
      • 4.3 心跳任务 188
      • 4.3.1 发送心跳请求 188
      • 4.3.2 心跳状态 189
      • 4.3.3 运行心跳任务 191
      • 4.3.4 处理心跳结果的示例 192
      • 4.3.5 心跳和协调者的关系 193
      • 4.4 消费者提交偏移量 195
      • 4.4.1 自动提交任务 195
      • 4.4.2 将拉取偏移量作为提交偏移量 197
      • 4.4.3 同步提交偏移量 201
      • 4.4.4 消费者的消息处理语义 202
      • 4.5 小结 206
      • 第5章 协调者 210
      • 5.1 消费者加入消费组 211
      • 5.1.1 元数据与分区分配器 212
      • 5.1.2 消费者的加入组和同步组 213
      • 5.1.3 主消费者执行分配任务 220
      • 5.1.4 加入组的准备、完成和监听器 224
      • 5.2 协调者处理请求 229
      • 5.2.1 服务端定义发送响应结果的回调方法 229
      • 5.2.2 消费者和消费组元数据 232
      • 5.2.3 协调者处理请求前的条件检查 236
      • 5.2.4 协调者调用回调方法发送响应给客户端 237
      • 5.3 延迟的加入组操作 242
      • 5.3.1 “准备再平衡” 242
      • 5.3.2 延迟操作和延迟缓存 244
      • 5.3.3 尝试完成延迟的加入操作 246
      • 5.3.4 消费组稳定后,原有消费者重新加入消费组 250
      • 5.3.5 消费组未稳定,原有消费者重新加入消费组 251
      • 5.4 消费组状态机 254
      • 5.4.1 再平衡操作与监听器 254
      • 5.4.2 消费组的状态转换 262
      • 5.4.3 协调者处理“加入组请求” 264
      • 5.4.4 协调者处理“同步组请求” 274
      • 5.4.5 协调者处理“离开组请求” 276
      • 5.4.6 再平衡超时与会话超时 278
      • 5.4.7 延迟的心跳 282
      • 5.5 小结 290
      • 第6章 存储层 293
      • 6.1 日志的读写 293
      • 6.1.1 分区、副本、日志、日志
      • 分段 294
      • 6.1.2 写入日志 297
      • 6.1.3 日志分段 305
      • 6.1.4 读取日志 315
      • 6.1.5 日志管理 329
      • 6.1.6 日志压缩 336
      • 6.2 服务端处理读写请求 348
      • 6.2.1 副本管理器 351
      • 6.2.2 分区与副本 362
      • 6.3 延迟操作 373
      • 6.3.1 延迟操作接口 374
      • 6.3.2 延迟操作与延迟缓存 383
      • 6.3.3 延迟缓存 391
      • 6.4 小结 400
      • 第7章 控制器 402
      • 7.1 Kafka控制器 402
      • 7.1.1 控制器选举 403
      • 7.1.2 控制器上下文 406
      • 7.1.3 ZK监听器 408
      • 7.1.4 分区状态机和副本状态机 410
      • 7.1.5 删除主题 430
      • 7.1.6 重新分配分区 436
      • 7.1.7 控制器的网络通道管理器 445
      • 7.2 服务端处理LeaderAndIsr请求 448
      • 7.2.1 创建分区 449
      • 7.2.2 创建主副本、备份副本 451
      • 7.2.3 消费组元数据迁移 463
      • 7.3 元数据缓存 468
      • 7.3.1 服务端的元数据缓存 472
      • 7.3.2 客户端更新元数据 473
      • 7.4 Kafka服务关闭 483
      • 7.5 小结 487
      • 第8章 基于Kafka构建数据流管道 490
      • 8.1 Kafka集群同步工具:MirrorMaker 490
      • 8.1.1 单机模拟数据同步 491
      • 8.1.2 数据同步的流程 493
      • 8.2 Uber集群同步工具:uReplicator 498
      • 8.2.1 Apache Helix介绍 498
      • 8.2.2 Helix控制器 501
      • 8.2.3 Helix工作节点 504
      • 8.3 Kafka连接器 505
      • 8.3.1 连接器的使用示例 507
      • 8.3.2 开发一个简单的连接器 510
      • 8.3.3 连接器的架构模型 515
      • 8.3.4 Herder的实现 520
      • 8.3.5 Worker的实现 524
      • 8.3.6 配置存储与状态存储 530
      • 8.3.7 连接器与任务的实现 550
      • 8.4 小结 565
      • 第9章 Kafka流处理 569
      • 9.1 低级Processor API 569
      • 9.1.1 流处理应用程序示例 569
      • 9.1.2 流处理的拓扑 575
      • 9.1.3 流处理的线程模型 580
      • 9.1.4 状态存储 613
      • 9.2 高级流式DSL 636
      • 9.2.1 DSL应用程序示例 636
      • 9.2.2 KStream和KTable 638
      • 9.2.3 连接操作 665
      • 9.2.4 窗口操作 672
      • 9.3 小结 684
      • 第10章 高级特性介绍 686
      • 10.1 客户端配额 686
      • 10.2 消息与时间戳 692
      • 10.3 事务处理 699
      • 10.4 小结 703

      学习笔记

      Kafka源码系列教程之删除topic

      前言 Apache Kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成为Apache的主要项目之一。Kafka使用Scala和Java进行编写。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。 本文依然是以kafka0.8.2.2为例讲解 一,如何删除一个topic 删除一个topic有两个关键点: 1,配置删除参数 delete.topic.enable这个Broker参数配置为True。 2,执行 bin/kafka-topics.sh --zookeeper zk_host:port/chroot --delete --topic my_topic_name 假如不配置删除参数为true的话,topic其实并没有被清除,只是被标记为删除。此时,估计……

      Spring boot集成Kafka+Storm的示例代码

      前言 由于业务需求需要把Strom与kafka整合到spring boot项目里,实现其他服务输出日志至kafka订阅话题,storm实时处理该话题完成数据监控及其他数据统计,但是网上教程较少,今天想写的就是如何整合storm+kafka 到spring boot,顺带说一说我遇到的坑。 使用工具及环境配置 ​ 1. java 版本jdk-1.8 ​ 2. 编译工具使用IDEA-2017 ​ 3. maven作为项目管理 ​ 4.spring boot-1.5.8.RELEASE 需求体现 1.为什么需要整合到spring boot 为了使用spring boot 统一管理各种微服务,及同时避免多个分散配置 2.具体思路及整合原因 ​ 使用spring boot统一管理kafka、storm、redis等所需要的bean,通过其他服务日志收集至Kafka,KafKa实时发送日志至storm,在strom bolt时进行相……

      Java使用kafka发送和生产消息的示例

      1. maven依赖包 dependency groupIdorg.apache.kafka/groupId artifactIdkafka-clients/artifactId version0.9.0.1/version /dependency 2. 生产者代码 package com.lnho.example.kafka; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; import java.util.Properties; public class KafkaProducerExample { public static void main(String[] args) { Properties props = new Properties(); props.put("bootstrap.servers", "master:9092"); props.put("acks", "all"); props.put("retries", 0); props.put("batch.size", 16384); props.put("linger.ms", 1); props.put("buffer.memory", 33554432); props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("value.serializer",……

      对python操作kafka写入json数据的简单demo分享

      如下所示: 安装kafka支持库pip install kafka-python from kafka import KafkaProducerimport json ''' 生产者demo 向test_lyl2主题中循环写入10条json数据 注意事项:要写入json数据需加上value_serializer参数,如下代码'''producer = KafkaProducer( value_serializer=lambda v: json.dumps(v).encode('utf-8'), bootstrap_servers=['192.168.12.101:6667','192.168.12.102:6667','192.168.12.103:6667'] )for i in range(10): data={ "name":"李四", "age":23, "gender":"男", "id":i } producer.send('test_lyl2', data)producer.close() from kafka import KafkaConsumerimport json ''' 消费者demo 消费test_lyl2主题中的数据 注意事项:如需以json格式读取数据需加上value_deserializer参数''' consumer = KafkaConsumer('test_lyl2',group_id="lyl-gid1", bootstrap_s……

      以上就是本次介绍的Kafka电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:零基础学C语言

      下一篇:RabbitMQ实战指南

      展开 +

      收起 -

      • 《Kafka技术内幕:图文详解Kafka源码设计与实现》PDF下载

      Kafka相关电子书
      深入理解Kafka:核心设计与实践原理
      深入理解Kafka:核心设计与实践原理 原书完整版

      本书从Kafka的基本概念入手,主要从生产端、消费端、服务端等3个方面进行全面的陈述,主要内容包括Kafka的基本使用方式、生产者客户端的使用、消费者客户端的使用

      立即下载
      Kafka并不难学
      Kafka并不难学 超清版

      本书基于Kafka 0.10.2.0以上版本,采用“理论 实践”的形式编写。全书共68个实例。

      立即下载
      构建Apache Kafka流数据应用
      构建Apache Kafka流数据应用 全书影印版 立即下载
      Kafka权威指南
      Kafka权威指南 影印中文版

      本书是关于Kafka的全面教程, 详细介绍了如何部署Kafka集群、开发可靠的基于事件驱动的微服务,以及基于Kafka平台构建可伸缩的流式应用程序,感兴趣的可以下载学习

      立即下载
      Kafka源码解析与实战
      Kafka源码解析与实战 完整影印版

      本书从LinkedIn(领英)公司内部大数据架构讲起,引申出消息队列Kafka,接着讲解Kafka的基本架构,然后着重分析Kafka内部的各模块实现细节,感兴趣的可以了解一下

      立即下载
      流式架构:Kafka与MapR Streams数据流处理
      流式架构:Kafka与MapR Streams数据流处理 影印超清版

      所有连续的事件流都可以称为数据流。对连续数据流设计和构建流式数据架构,能够实现实时或近实时应用,提升整个组织的效率。《流式架构:Kafka与MapR Streams数据流处理》以Apache Kafka 和M

      立即下载
      Apache Kafka实战
      Apache Kafka实战 高质量完整版

      基于Apache Kafka 1.0.0版本介绍,Kafka Contributor执笔。包括Kafka基本概念与特性以及部署、开发、运营、监控、调试、优化和重要组件的设计原理,并给出了翔实的案例

      立即下载
      读者留言
      readboy2012

      readboy2012 提供上传

      资源
      15
      粉丝
      41
      喜欢
      80
      评论
      8

      Copyright 2018-2020 xz577.com 码农之家

      本站所有电子书资源不再提供下载地址,只分享来路

      版权投诉 / 书籍推广 / 赞助:QQ:520161757