本文章为书籍《深入理解Kafka》的读书笔记,不负任何版权责任。Kafka特征:系统解耦,流量削峰,冗余存储,持久化到磁盘,提供消息顺序性保障及回溯。目录:架构生产者消费者日志存储问题讨论名词:Producer:生产者,发送消息Consumer:消费者,接收消息,进行业务逻辑处理Zookeeper:树状2f+1集群保存metadataBroker:服务代理节点,将消息持久化到磁盘
转载
2024-03-05 15:18:34
85阅读
配置参数调优broker配置num.recovery.threads.per.data.dir对于如下 3 种情况,Kafka 会使用可配置的线程池来处理日志片段:服务器正常启动,用于打开每个分区的日志片段;服务器崩溃后重启,用于检查和截短每个分区的日志片段;服务器正常关闭,用于关闭日志片段。
原创
2021-08-26 15:46:34
940阅读
配置参数调优broker配置num.recovery.threads.per.data.dir对于如下 3 种情况,Kafka 会使用可配置的线程池来处理日志片段:服务器正常启动,用于打开每个分区的日志片段;服务器崩溃后重启,用于检查和截短每个分区的日志片段;服务器正常关闭,用于关闭日志片段。默认情况下,每个日志目录只使用一个线程。因为这些线程只是在服务器启动和关闭时会用到,所以...
原创
2022-02-15 14:12:16
872阅读
1、Kafka的工程流程及文件存储机制 index 和 log 文件以当前 segment 的第一条消息的 offset 命名。下图为 index 文件和 log 文件的结构 示意图 “.index”文件存储大量的索引信息,“.log”文件存储大量的数据,索引文件中的元数据指向对应数据文 件中 me ...
转载
2021-09-28 21:52:00
137阅读
2评论
本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Kafka:部分补充。Kafka 从 0.11 版本开始引入了事务支持。事务可以保证 Kafka 在 Exactly Once 语义的基础上,生产和消费可以跨分区和会话,要么全部成功,要么全部失败。
转载
2021-09-26 11:08:01
287阅读
第 3 章 Kafka 架构深入3.1 Kafka 工作流程及文件存储机制Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个 log 文件,
原创
2022-03-04 10:05:45
43阅读
第 3 章 Kafka 架构深入3.1 Kafka 工作流程及文件存储机制Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic的。topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个 log 文件,该 log 文件中存储的就是 producer 生产的数据。Producer 生产的数据会被不...
原创
2021-08-18 10:04:14
99阅读
背景: 1. kafka是一个分布式、高吞吐率的消息系统 早期版本 重点在日志处理 2. kafka是一个分布式、
原创
2022-10-20 11:28:56
63阅读
0、题记实际业务场景中,会遇到基础数据存在Mysql中,实时写入数据量比较大的情景。迁移至kafka是一种比较好的业务选型方案。而mysql写入kafka的选型方案有:方案一:logstash_output_kafka插件。方案二:kafka_connector。方案三:debezium插件。方案四:flume。方案五:其他类似方案。其中:debezium和flume是基于mysqlbinlog实
原创
2020-07-31 23:06:45
645阅读
kafka是一个消息队列产品,基于Topic partitions的设计,能达到非常高的消息发送处理性能。Spring创建了一个项目Spring-kafka,封装了Apache 的Kafka-client,用于在Spring项……
转载
2021-07-07 14:17:32
306阅读
logstash原理及相关同步坑解读,猛戳>>>
原创
2022-05-07 19:52:29
523阅读
0、题记实际业务场景中,会遇到基础数据存在Mysql中,实时写入数据量比较大的情景。迁移至kafka是一种比较好的业务选型方案。而mysql写入kafka的选型方案有:方案一:logstash_output_kafka插件。方案二:kafka_connector。方案三:debezium插件。方案四:flume。方案五:其他类似方案。其中:debezium和flume是基于mysqlbinlog实
原创
2020-12-09 21:41:05
578阅读
文章目录第 1 章 Kafka 概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的1.3 Kafka 基础架构第 2 章 Kafka 快速入门2.1 安装部署2.1.1 集群规划2.1.2 jar 包2.1.3 集群部署2.2 Kafka 命令行操作第 3 章 Kafka 架构深入
原创
2021-07-12 15:04:50
260阅读
0、题记实际业务场景中,会遇到基础数据存在Mysql中,实时写入数据量比较大的情景。迁移至kafka是一种比较好的业务选型方案。而
原创
2022-10-18 21:18:37
310阅读
1 分区策略1)分区的原因(1)方便在集群中扩展,每个 Partition 可以通过调整以适应它所在的机器,而一个 topic又可以有多个 Partition 组成,因此整个集群就可以适应任意大小的数据了;(2)可以提高并发,因为可以以 Partition 为单位读写了。2)分区的原则我们需要将 producer 发送的数据封装成一个ProducerRecord对象。
转载
2021-09-26 11:21:58
237阅读
1 消费方式consumer 采用 pull(拉)模式从 broker 中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pull 模式则可以根据 consumer 的消费能力以适当的速率消费消息。pull
转载
2021-09-26 11:08:49
166阅读
1、kafka同步到Elasticsearch方式?目前已知常用的方式有四种: 1)logstash_input_kafka插件; 缺点:不稳定(ES中文社区讨论) 2)spark stream同步; 缺点:太庞大 3)kafka connector同步; 4)自写程序读取、解析、写入 本文主要基于kafka connector实现kafka到Elasticsearch全量、增量同步
原创
2022-07-21 14:13:59
559阅读
深入浅出LLVM什么是LLVM?LLVM项目是模块化、可重用的编译器以及工具链技术的集合。美国计算机协会 (ACM) 将其2012 年软件系统奖项颁给了LLVM,之前曾经获得此奖项的软件和技术包括:Java、Apache、 Mosaic、the World Wide Web、Smalltalk、UNIX、Eclipse等等。创始人:Chris Lattner亦是Swift之父。趣闻:Chris L
一、为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的
转载
2019-04-24 14:37:00
88阅读
2评论
Kafka授权框架支持可插拔Authorizer实现,KRaft模式下默认使用StandardAuthorizer存储ACL。资源无ACL时默认拒绝访问,可通过配置允许所有人访问。KRaft集群中通过Envelope机制转发客户端principal进行授权。SSL和SASL支持用户名映射规则,kafka-acls.sh提供完整的ACL管理功能,包括添加、删除、列出ACL及特殊权限配置。典型操作包括为指定用户/IP授权、设置允许所有+拒绝个别及通配授权等。