标签分类
当前位置:首页 > 计算机理论电子书 > Kafka电子书网盘下载
深入理解Kafka:核心设计与实践原理 深入理解Kafka:核心设计与实践原理
_仰望星空_

_仰望星空_ 提供上传

资源
11
粉丝
3
喜欢
18
评论
9

    深入理解Kafka:核心设计与实践原理 PDF 原书完整版

    Kafka电子书
    • 发布时间:

    给大家带来的一篇关于Kafka相关的电子书资源,介绍了关于Kafka、核心设计、实践原理方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小246.3 MB,朱忠华编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.3,更多相关的学习资源可以参阅 计算机理论电子书、等栏目。

  • 深入理解Kafka:核心设计与实践原理 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1LZptM-xbVcXcy6o4sG1ruQ
  • 分享码:ujz4
  • 深入理解Kafka:核心设计与实践原理

    深入理解Kafka:核心设计与实践原理

    内容介绍

    本书从Kafka的基本概念入手,主要从生产端、消费端、服务端等3个方面进行全面的陈述,主要内容包括Kafka的基本使用方式、生产者客户端的使用、消费者客户端的使用、主题与分区、日志存储、深入原理解析、监控的设计、高级应用的扩展以及与Spark的集成等。虽然Kafka的内核使用Scala语言编写,但是本书基本以Java语言作为主要的示例语言,方便绝大多数读者的理解。本书虽然没有明确的界定,但是总体上可以隐性的划分为三个部分:基础篇、原理篇和扩展篇,以这种循序渐进的方式更能让读者容易接受。

    目录

    • 第1章 初识Kafka
    • 1.1 基本概念
    • 1.2 安装与配置
    • 1.3 生产与消费
    • 1.4 服务端参数配置
    • 1.5 总结
    • 第2章 生产者
    • 2.1 客户端开发
    • 2.1.1 必要的参数配置
    • 2.1.2 消息的发送
    • 2.1.3 序列化
    • 2.1.4 分区器
    • 2.1.5 生产者拦截器
    • 2.2 原理分析
    • 2.2.1 整体架构
    • 2.2.2 元数据的更新
    • 2.3 重要的生产者参数
    • 2.4 总结
    • 第3章 消费者
    • 3.1 消费者与消费组
    • 3.2 客户端开发
    • 3.2.1 必要的参数配置
    • 3.2.2 订阅主题与分区
    • 3.2.3 反序列化
    • 3.2.4 消息消费
    • 3.2.5 位移提交
    • 3.2.6 控制或关闭消费
    • 3.2.7 指定位移消费
    • 3.2.8 再均衡
    • 3.2.9 消费者拦截器
    • 3.2.10 多线程实现
    • 3.2.11 重要的消费者参数
    • 3.3 总结
    • 第4章 主题与分区
    • 4.1 主题的管理
    • 4.1.1 创建主题
    • 4.1.2 分区副本的分配
    • 4.1.3 查看主题
    • 4.1.4 修改主题
    • 4.1.5 配置管理
    • 4.1.6 主题端参数
    • 4.1.7 删除主题
    • 4.2 初识KafkaAdminClient
    • 4.2.1 基本使用
    • 4.2.2 主题合法性验证
    • 4.3 分区的管理
    • 4.3.1 优先副本的选举
    • 4.3.2 分区重分配
    • 4.3.3 复制限流
    • 4.3.4 修改副本因子
    • 4.4 如何选择合适的分区数
    • 4.4.1 性能测试工具
    • 4.4.2 分区数越多吞吐量就越高吗
    • 4.4.3 分区数的上限
    • 4.4.4 考量因素
    • 4.5 总结
    • 第5章 日志存储
    • 5.1 文件目录布局
    • 5.2 日志格式的演变
    • 5.2.1 v0版本
    • 5.2.2 v1版本
    • 5.2.3 消息压缩
    • 5.2.4 变长字段
    • 5.2.5 v2版本
    • 5.3 日志索引
    • 5.3.1 偏移量索引
    • 5.3.2 时间戳索引
    • 5.4 日志清理
    • 5.4.1 日志删除
    • 5.4.2 日志压缩
    • 5.5 磁盘存储
    • 5.5.1 页缓存
    • 5.5.2 磁盘I/O流程
    • 5.5.3 零拷贝
    • 5.6 总结
    • 第6章 深入服务端
    • 6.1 协议设计
    • 6.2 时间轮
    • 6.3 延时操作
    • 6.4 控制器
    • 6.4.1 控制器的选举及异常恢复
    • 6.4.2 优雅关闭
    • 6.4.3 分区leader的选举
    • 6.5 参数解密
    • 6.5.1 broker.id
    • 6.5.2 bootstrap.servers
    • 6.5.3 服务端参数列表
    • 6.6 总结
    • 第7章 深入客户端
    • 7.1 分区分配策略
    • 7.1.1 RangeAssignor分配策略
    • 7.1.2 RoundRobinAssignor分配策略
    • 7.1.3 StickyAssignor分配策略
    • 7.1.4 自定义分区分配策略
    • 7.2 消费者协调器和组协调器
    • 7.2.1 旧版消费者客户端的问题
    • 7.2.2 再均衡的原理
    • 7.3 __consumer_offsets剖析
    • 7.4 事务
    • 7.4.1 消息传输保障
    • 7.4.2 幂等
    • 7.4.3 事务
    • 7.5 总结
    • 第8章 可靠性探究
    • 8.1 副本剖析
    • 8.1.1 失效副本
    • 8.1.2 ISR的伸缩
    • 8.1.3 LEO与HW
    • 8.1.4 Leader Epoch的介入
    • 8.1.5 为什么不支持读写分离
    • 8.2 日志同步机制
    • 8.3 可靠性分析
    • 8.4 总结
    • 第9章 Kafka应用
    • 9.1 命令行工具
    • 9.1.1 消费组管理
    • 9.1.2 消费位移管理
    • 9.1.3 手动删除消息
    • 9.2 Kafka Connect
    • 9.2.1 独立模式
    • 9.2.2 REST API
    • 9.2.3 分布式模式
    • 9.3 Kafka Mirror Maker
    • 9.4 Kafka Streams
    • 9.5 总结
    • 第10章 Kafka监控
    • 10.1 监控数据的来源
    • 10.1.1 OneMinuteRate
    • 10.1.2 获取监控指标
    • 10.2 消费滞后
    • 10.3 同步失效分区
    • 10.4 监控指标说明
    • 10.5 监控模块
    • 10.6 总结
    • 第11章 高级应用
    • 11.1 过期时间(TTL)
    • 11.2 延时队列
    • 11.3 死信队列和重试队列
    • 11.4 消息路由
    • 11.5 消息轨迹
    • 11.6 消息审计
    • 11.7 消息代理
    • 11.7.1 快速入门
    • 11.7.2 REST API介绍及示例
    • 11.7.3 服务端配置及部署
    • 11.7.4 应用思考
    • 11.8 消息中间件选型
    • 11.8.1 各类消息中间件简述
    • 11.8.2 选型要点概述
    • 11.8.3 消息中间件选型误区探讨
    • 11.9 总结
    • 第12章 Kafka与Spark的集成
    • 12.1 Spark的安装及简单应用
    • 12.2 Spark编程模型
    • 12.3 Spark的运行结构
    • 12.4 Spark Streaming简介
    • 12.5 Kafka与Spark Streaming的整合
    • 12.6 Spark SQL
    • 12.7 Structured Streaming
    • 12.8 Kafka与Structured Streaming的整合
    • 12.9 总结
    • 附录A Kafka源码环境搭建

    上一篇:单元测试的艺术  下一篇:神经网络与深度学习应用实战

    展开 +

    收起 -

    Kafka相关电子书
    学习笔记
    网友NO.108569

    kafka-python批量发送数据的实例

    如下所示: from kafka import KafkaClientfrom kafka.producer import SimpleProducer def send_data_2_kafka(datas): ''' 向kafka解析队列发送数据 ''' client = KafkaClient(hosts=KAFKABROKER.split(","), timeout=30) producer = SimpleProducer(client, async=False) curcount = len(datas)/PARTNUM for i in range(0, PARTNUM): start = i*curcount if i != PARTNUM - 1: end = (i+1)*curcount curdata = datas[start:end] producer.send_messages(TOPICNAME, *curdata) else: curdata = datas[start:] producer.send_messages(TOPICNAME, *curdata) producer.stop() client.close() 其中PARTNUM为topic的partition的数目,这样保证批量发送的数据均匀的落在kafka的partition中。 以上这篇kafka-python批量发送数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    网友NO.901837

    python消费kafka数据批量插入到es的方法

    1、es的批量插入 这是为了方便后期配置的更改,把配置信息放在logging.conf中 用elasticsearch来实现批量操作,先安装依赖包,sudo pip install Elasticsearch2 from elasticsearch import Elasticsearch class ImportEsData: logging.config.fileConfig("logging.conf") logger = logging.getLogger("msg") def __init__(self,hosts,index,type): self.es = Elasticsearch(hosts=hosts.strip(',').split(','), timeout=5000) self.index = index self.type = type def set_date(self,data): # 批量处理 # es.index(index="test-index",doc_type="test-type",id=42,body={"any":"data","timestamp":datetime.now()}) self.es.index(index=self.index,doc_type=self.index,body=data) 2、使用pykafka消费kafka 1.因为kafka是0.8,pykafka不支持zk,只能用get_simple_consumer来实现 2.为了实现多个应用同时消费而且不重消费,所以一个应用消费一个partition 3. 为是确保消费数据量在不满足10000这个批量值,能在一个时间范围内插入到es中,这里设置consumer_timeout_ms一个超时等待时间,退出等待消费阻塞。 4.退出等待消费阻塞后导致无法再消费数据,因此在获取self.consumer 的外层加入了while True 一个死循环 #!/usr/bin/python# -*- coding: UTF-8 -*-from pykafka import KafkaClientimport loggingimport logging.configfrom ConfigUtil import ConfigUtilimport datetimeclass KafkaPython: logging.config.fileConfig("logging.conf") logger = logging.getLogger("msg") logger_data = logging.getLogger……

    网友NO.823724

    对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_servers=['192.168.12.101:6667','192.168.12.102:6667','192.168.12.103:6667'], auto_offset_reset='earliest',value_deserializer=json.loads )for message in consumer: print(message.value) 以上这篇对python操作kafka写入json数据的简单demo分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    网友NO.887197

    在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……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明