标签分类 热门分类
当前位置:首页 > 程序设计电子书 > Kafka电子书网盘下载
Kafka源码解析与实战 Kafka源码解析与实战
kclabc106

kclabc106 提供上传

资源
23
粉丝
12
喜欢
115
评论
3

    Kafka源码解析与实战 PDF 完整影印版

    Kafka电子书
    • 发布时间:

    给大家带来的一篇关于Kafka相关的电子书资源,介绍了关于实战、Kafka、源码解析方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小63.1 MB,王亮编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.9,更多相关的学习资源可以参阅 程序设计电子书、等栏目。

  • Kafka源码解析与实战 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1ooSd2Ch3rl8hyeLiFJ0rT
  • 分享码:rc26
  • Kafka源码解析与实战

    这书从LinkedIn(领英)公司内部大数据架构说起,引申出消息队列Kafka,然后解读Kafka的基本构架,随后主要分析Kafka内部的各控制模块实现细节。从问世背景至构架构成,再到内部实现细节,循序渐进,由浅入深。这书不仅解读Kafka内部的实现原理,而且还详细说明Kafka外界的维护工具,对外开放的手机客户端程序编写原理以及和第三方集成化的方式。这书在解读Kafka的过程中交叉了大量的图片,图片配文字,栩栩如生形象,使用户能更加深层次地了解Kafka。

    目录

    • 前言
    • 第1章 Kafka简介 1
    • 1.1 Kafka诞生的背景 1
    • 1.2 Kafka在LinkedIn内部的应用 3
    • 1.3 Kafka的主要设计目标 4
    • 1.4 为什么使用消息系统 4
    • 1.5 本章小结 5
    • 第2章 Kafka的架构 6
    • 2.1 Kafka的基本组成 6
    • 2.2 Kafka的拓扑结构 8
    • 2.3 Kafka内部的通信协议 9
    • 2.4 本章小结 12
    • 第3章 Broker概述 13
    • 3.1 Broker的启动 13
    • 3.2 Broker内部的模块组成 15
    • 3.3 本章小结 18
    • 第4章 Broker的基本模块 19
    • 4.1 SocketServer 19
    • 4.2 KafkaRequestHandlerPool 25
    • 4.3 KafkaApis 27
    • 4.3.1 LogManager 27
    • 4.3.2 ReplicaManager 37
    • 4.3.3 OffsetManager 47
    • 4.3.4 KafkaScheduler 51
    • 4.3.5 KafkaApis 52
    • 4.4 KafkaHealthcheck 81
    • 4.5 TopicConfigManager 83
    • 4.6 本章小结 85
    • 第5章 Broker的控制管理模块 86
    • 5.1 KafkaController的选举策略 86
    • 5.2 KafkaController的初始化 91
    • 5.2.1 Leader状态下KafkaController的初始化 91
    • 5.2.2 Standby状态下KafkaController的初始化 94
    • 5.3 Topic的分区状态转换机制 95
    • 5.3.1 分区状态的分类 95
    • 5.3.2 分区状态的转换 96
    • 5.3.3 PartitionStateMachine模块的启动 102
    • 5.4 Topic分区的领导者副本选举策略 103
    • 5.4.1 NoOpLeaderSelector 104
    • 5.4.2 Off?linePartitionLeaderSelector 104
    • 5.4.3 ReassignedPartitionLeader-Selector 106
    • 5.4.4 PreferredReplicaPartition-LeaderSelector 107
    • 5.4.5 ControlledShutdownLeader-Selector 108
    • 5.5 Topic分区的副本状态转换机制 109
    • 5.5.1 副本状态的分类 110
    • 5.5.2 副本状态的转换 111
    • 5.5.3 ReplicaStateMachine模块的启动 117
    • 5.6 KafkaController内部的监听器 118
    • 5.6.1 TopicChangeListener 119
    • 5.6.2 AddPartitionsListener 121
    • 5.6.3 PartitionsReassignedListener 122
    • 5.6.4 ReassignedPartitionsIsr-ChangeListener 128
    • 5.6.5 PreferredReplicaElection-Listener 130
    • 5.6.6 BrokerChangeListener 132
    • 5.6.7 DeleteTopicsListener 135
    • 5.7 Kafka集群的负载均衡流程 136
    • 5.8 Kafka集群的Topic删除流程 140
    • 5.9 KafkaController的通信模块 146
    • 5.10 本章小结 150
    • 第6章 Topic的管理工具 151
    • 6.1 kafka-topics.sh 151
    • 6.1.1 createTopic 153
    • 6.1.2 alterTopic 156
    • 6.1.3 listTopics 160
    • 6.1.4 describeTopic 161
    • 6.1.5 deleteTopic 163
    • 6.2 kafka-reassign-partitions.sh 164
    • 6.2.1 generateAssignment 166
    • 6.2.2 executeAssignment 167
    • 6.2.3 verifyAssignment 170
    • 6.3 kafka-preferred-replica-election.sh 172
    • 6.4 本章小结 175
    • 第7章 生产者 176
    • 7.1 设计原则 176
    • 7.2 示例代码 176
    • 7.3 模块组成 180
    • 7.3.1 ProducerSendThread 180
    • 7.3.2 ProducerPool 182
    • 7.3.3 DefaultEventHandler 184
    • 7.4 发送模式 189
    • 7.4.1 同步模式 189
    • 7.4.2 异步模式 189
    • 7.5 本章小结 192
    • 第8章 消费者 193
    • 8.1 简单消费者 193
    • 8.1.1 设计原则 193
    • 8.1.2 消费者流程 194
    • 8.1.3 示例代码 195
    • 8.1.4 原理解析 200
    • 8.2 高级消费者 202
    • 8.2.1 设计原则 202
    • 8.2.2 消费者流程 203
    • 8.2.3 示例代码 204
    • 8.2.4 原理解析 205
    • 8.3 本章小结 227
    • 第9章 Kafka的典型应用 228
    • 9.1 Kafka和Storm的集成 228
    • 9.1.1 Storm简介 228
    • 9.1.2 示例代码 230
    • 9.2 Kafka和ELK的集成 235
    • 9.2.1 ELK简介 235
    • 9.2.2 配置流程 236
    • 9.3 Kafka和Hadoop的集成 237
    • 9.3.1 Hadoop简介 237
    • 9.3.2 示例代码 239
    • 9.4 Kafka和Spark的集成 242
    • 9.4.1 Spark简介 242
    • 9.4.2 示例代码 245
    • 9.5 本章小结 247
    • 第10章 Kafka的综合实例 248
    • 10.1 安防大数据的主要应用 248
    • 10.2 Kafka在安防整体解决方案中的角色 249
    • 10.3 典型业务 250
    • 10.3.1 车辆人脸图片数据的入库 251
    • 10.3.2 视频数据的入库 252
    • 10.3.3 数据延时的监控 254
    • 10.3.4 数据质量的监控 256
    • 10.3.5 布控统计 258
    • 10.3.6 容灾备份 259
    • 10.4 本章小结 260

    上一篇:Axure RP 8.0原型设计完全自学一本通  下一篇:深入分布式缓存:从原理到实践

    展开 +

    收起 -

     
    Kafka 相关电子书
    关于Kafka的学习笔记
    网友NO.219016

    Kafka简单客户端编程实例

    今天,我们给大家带来一篇如何利用Kafka的API进行客户端编程的文章,这篇文章很简单,就是利用Kafka的API创建一个生产者和消费者,生产者不断向Kafka写入消息,消费者则不断消费Kafka的消息。下面是具体的实例代码。 一、创建配置类Config 这个类很简单,只是存放了两个常量,一个是话题TOPIC,一个是线程数THREADS package com.lya.kafka; /** * 配置项 * @author liuyazhuang * */ public class Config { /** * 话题 */ public static final String TOPIC = "wordcount"; /** * 线程数 */ public static final Integer THREADS = 1; } 二、编程生产者类ProducerDemo 这个类的主要作用就是向Kafka写入相应的消息,并且将消息写入wordcount话题。 package com.lya.kafka; import java.util.Properties; import kafka.javaapi.producer.Producer; import kafka.producer.KeyedMessage; import kafka.producer.ProducerConfig; /** * 生产者实例 * @author liuyazhuang * */ public class ProducerDemo { public static void main(String[] args) throws Exception { Properties props = new Properties(); props.put("zk.connect", "192.168.209.121:2181"); props.put("metadata.broker.list","192.168.209.121:9092"); props.put("serializer.class", "kafka.serializer.StringEncoder"); props.put("zk.connectiontimeout.ms", "15000"); ProducerConfig config = new ProducerConfig(props); ProducerString, String producer = new ProducerString, String(config); // 发送业务消息 // 读取文件 读取内存数据……

    网友NO.255239

    kafka生产者和消费者的javaAPI的示例代码

    写了个kafka的java demo 顺便记录下,仅供参考 1.创建maven项目 目录如下: 2.pom文件: project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" modelVersion4.0.0/modelVersion groupIdKafka-Maven/groupId artifactIdKafka-Maven/artifactId version0.0.1-SNAPSHOT/version dependencies dependency groupIdorg.apache.kafka/groupId artifactIdkafka_2.11/artifactId version0.10.1.1/version /dependency dependency groupIdorg.apache.hadoop/groupId artifactIdhadoop-common/artifactId version2.2.0/version /dependency dependency groupIdorg.apache.hadoop/groupId artifactIdhadoop-hdfs/artifactId version2.2.0/version /dependency dependency groupIdorg.apache.hadoop/groupId artifactIdhadoop-client/artifactId version2.2.0/version /dependency dependency groupIdorg.apache.hbase/groupId artifactIdhbase-client/artifactId version1.0.3/version /dependency dependency groupIdorg.apache.hbase/groupId artifactIdhbase-server/artifactId version1.0.3/version /dependency dependency groupIdorg.apache.hadoop/groupId artifactIdhadoop-hdfs/artifactId version2.2.0/version /dependency dependency groupIdjdk.tools/groupId artifactIdjdk.tools/artifactId version1.7/version scopesystem/scope systemPath${JAVA_HOME}/lib/tools.jar/systemPath /dependency dependency groupIdorg.apache.httpcomponents/groupId artifactIdhttpclient/artifactId version4.3.6/version /dependenc……

    网友NO.363121

    在python环境下运用kafka对数据进行实时传输的方法

    背景: 为了满足各个平台间数据的传输,以及能确保历史性和实时性。先选用kafka作为不同平台数据传输的中转站,来满足我们对跨平台数据发送与接收的需要。 kafka简介: Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。 总之:kafka做为中转站有以下功能: 1.生产者(产生数据或者说是从外部接收数据) 2.消费着(将接收到的数据转花为自己所需用的格式) 环境: 1.python3.5.x 2.kafka1.4.3 3.pandas 准备开始: 1.kafka的安装 pip install kafka-python 2.检验kafka是否安装成功 3.pandas的安装 pip install pandas 4.kafka数据的传输 直接撸代码: # -*- coding: utf-8 -*-'''@author: 真梦行路@file: kafka.py@time: 2018/9/3 10:20'''import sysimport jsonimport pandas as pdimport osfrom kafka import KafkaProducerfrom kafka import KafkaConsumerfrom kafka.errors import KafkaError KAFAKA_HOST = "xxx.xxx.x.xxx" #服务器端口地址KAFAKA_PORT = 9092 #端口号KAFAKA_TOPIC = "topic0" #topic data=pd.read_csv(os.getcwd()+'\\d……

    网友NO.845049

    kafka与storm集群环境的安装步骤详解

    前言 在开始之前,需要说明下,storm和kafka集群安装是没有必然联系的,我将这两个写在一起,是因为他们都是由zookeeper进行管理的,也都依赖于JDK的环境,为了不重复再写一遍配置,所以我将这两个写在一起。若只需一个,只需挑选自己选择的阅读即可。下面话不多说了,来一起看看详细的介绍吧。 这两者的依赖如下: Storm集群:JDK1.8 , Zookeeper3.4,Storm1.1.1; Kafa集群 : JDK1.8 ,Zookeeper3.4 ,Kafka2.12; 说明: Storm1.0 和Kafka2.0对JDK要求是1.7以上,Zookeeper3.0以上。 下载地址: Zookeeper:https://zookeeper.apache.org/releases.html (本地下载) Storm: http://storm.apache.org/downloads.html (本地下载) Kafka: http://kafka.apache.org/downloads (本地下载) JDK安装 每台机器都要安装JDK!!! 说明: 一般CentOS自带了openjdk,但是我们这里使用的是oracle的JDK。所以要写卸载openjdk,然后再安装在oracle下载好的JDK。如果已经卸载,可以跳过此步骤。 首先输入 java -version 查看是否安装了JDK,如果安装了,但版本不适合的话,就卸载 输入 rpm -qa | grep java 查看信息 然后输入: rpm -e --nodeps “你要卸载JDK的信息” 如: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 确认没有了之后,解压下载下来的JDK tar -xvf jdk-8u144-linux-x64.tar.gz 移动到opt/java文件夹中,没有就新建,然后将文件夹重命……

    Copyright 2018-2020 xz577.com 码农之家

    电子书资源由网友、会员提供上传,本站记录提供者的基本信息及资源来路

    鸣谢: “ 码小辫 ” 公众号提供回调API服务、“ 脚本CDN ”提供网站加速(本站寻求更多赞助支持)

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com

    上传资源(网友、会员均可提供)

    查看最新会员资料及资源信息