随笔分类 -  Kafka

Kafka-如何保证消费者的可靠性
摘要:Kafka-如何保证消费者的可靠性 只有那些被提交到kafka的数据,也就是那些已经被写入所有同步副本的数据,对消费者是可用的,这意味着消费者得到的消息已经具备了一致性。消费者唯一要做的是跟踪哪些消息是已经读取过的,哪些是还没有读取过的。这是在读取消息时不丢失消息的关键。 在从分区读取数据时,消费者 阅读全文

posted @ 2020-07-20 22:47 嘣嘣嚓 阅读(1073) 评论(0) 推荐(0) 编辑

Kafka-如何保证生产者的可靠性
摘要:Kafka-如何保证生产者的可靠性 即使我们尽可能把broker配置的很可靠,但如果没有对生产者进行可靠性方面的配置,整个系统仍然有可能出现突发性的数据丢失。 举例: 为broker配置了3个副本,并且禁用了不完全首领选举,这样应该可以保证万无一失。我们把生产者发送消息的acks设为1(只要首领接收 阅读全文

posted @ 2020-07-17 14:37 嘣嘣嚓 阅读(458) 评论(0) 推荐(0) 编辑

Kafka-如何保证可靠性
摘要:Kafka-可靠性保证-保证了哪些可靠性 ACID是关系型数据库普遍支持的标准可靠性保证。 ACID:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability) 如果数据库遵循ACID规范,那么该数据库就支持与事务相关的行为。 kaf 阅读全文

posted @ 2020-07-15 22:06 嘣嘣嚓 阅读(622) 评论(0) 推荐(0) 编辑

Kafka-键的删除
摘要:Kafka-键的删除 如果只为每个键保留最近的一个消息,那么当需要删除某个特定键所对应的所有消息时,需要怎么做?比如一个用户不再使用我们的服务,那么完全可以把与这个用户相关的所有信息从系统中删除。 为了彻底把一个键从系统里删除,应用程序必须发送一个包含该键且值为null的消息。清理线程发现该消息时, 阅读全文

posted @ 2020-07-07 22:17 嘣嘣嚓 阅读(356) 评论(0) 推荐(0) 编辑

Kafka-分区日志文件的索引
摘要:Kafka-分区日志文件的索引 消费者可以从kafka的任意可用偏移量位置开始读取消息。假设消费者要读取从偏移量100开始的1MB消息,那么broker必须立即定位到偏移量100(可能是在分区的任意一个片段里),然后开始从这个位置读取消息。为了帮助broker更快地定位到指定的偏移量,kafka为每 阅读全文

posted @ 2020-06-29 22:35 嘣嘣嚓 阅读(378) 评论(0) 推荐(0) 编辑

Kafka-分区日志文件的清理原理
摘要:Kafka-分区日志文件的清理原理 清理 一般情况下,kafka会根据设置的时间保留数据,把熬过时效的旧数据删除掉。 早于保留时间的旧事件会被删除,为每个键保留最新的值,从而达到清理的效果。只有当应用程序生成的事件里包含了键值对时,为这些主题设置compact策略才有意义。如果主题包含null键,清 阅读全文

posted @ 2020-06-29 22:34 嘣嘣嚓 阅读(740) 评论(0) 推荐(0) 编辑

Kafka-查看分片文件内容(分片日志文件存储格式)
摘要:kafka-文件存储格式 kafka的消息和偏移量保存在文件里。保存在磁盘上的数据格式与从生产者发送过来或者发送给消费者的消息格式是一样的。因为使用了相同的消息格式进行磁盘存储和网络传输,kafka可以使用零复制技术给消费者发送消息,同时避免了对生产者已经压缩过的消息进行解压和再压缩。 除了键、值和 阅读全文

posted @ 2020-06-28 22:52 嘣嘣嚓 阅读(1645) 评论(0) 推荐(0) 编辑

Kafka-文件管理
摘要:Kafka-文件管理 文件管理 保留数据是kafka的一个基本特性,kafaka不会一直保留数据,也不会等到所有消费者都读取了消息之后才删除消息。相反,kafka为每个主题配置了数据保留期限,规定数据被删除之前可以保留多长时间,或者清理数据之前可以保留的数据量大小。 因为在一个大文件里查找和删除消息 阅读全文

posted @ 2020-06-23 22:49 嘣嘣嚓 阅读(248) 评论(0) 推荐(0) 编辑

Kafka-分区分配规则
摘要:Kafka-分区分配规则 kafka的基本存储单元是分区。分区无法在多个broker间进行再细分,也无法在同一个broker的多个磁盘上进行再细分。所以,分区的大小受到单个挂载点可用空间的限制。 在配置kafka的时候,使用log.dirs参数来配置用于存储分区的目录清单。 分区分配 在创建主题时, 阅读全文

posted @ 2020-06-23 22:47 嘣嘣嚓 阅读(2315) 评论(0) 推荐(0) 编辑

Kafka-处理请求(生产请求、获取请求)
摘要:Kafka-处理请求 broker的大部分工作室处理客户端、分区副本和控制器发送给分区首领的请求。kafka提供了一个二进制协议(基于TCP),指定了请求消息的格式以及broker如何对请求作出响应--包括成功处理请求或在处理请求过程中遇到错误。客户端发起连接并发送请求,broker处理请求并作出响 阅读全文

posted @ 2020-04-20 22:14 嘣嘣嚓 阅读(847) 评论(0) 推荐(0) 编辑

Kafka-分区复制
摘要:Kafka-分区复制 复制功能是kafka架构的核心。kafka对自己的描述:一个分布式的、可分区的、可复制的提交日志服务。 复制之所以那么关键,是因为它可以在个别节点失效时仍能保证kafka的可用性和持久性。 kafka使用主题来组织数据,每个主题被分为若干个分区,每个分区有多个副本。那些副本被保 阅读全文

posted @ 2020-04-14 22:39 嘣嘣嚓 阅读(465) 评论(0) 推荐(0) 编辑

Kafka-控制器
摘要:Kafka-控制器 控制器其实就是一个broker,只不过它除了具有一般broker的功能之外,还负责分区首领的选举。集群里第一个启动broker通过在zookeeper里创建一个临时节点/controller让自己成为控制器。其他broker在启动时也会尝试创建这个节点,不过它们会收到一个节点已存 阅读全文

posted @ 2020-04-14 22:38 嘣嘣嚓 阅读(219) 评论(0) 推荐(0) 编辑

Kafka-独立消费者
摘要:Kafka-独立消费者 有的时候,我们只需要一个消费者从一个主题的所有分区或者某个特定分区读取数据。这时就不需要消费者群组和再均衡了,只需要把主题或者分区分配给消费者,然后开始读取消息并提交偏移量。 如果是这样的话,就不需要订阅主题,取而代之的是为自己分配分区。 代码如下 import com.ch 阅读全文

posted @ 2020-04-06 15:42 嘣嘣嚓 阅读(661) 评论(0) 推荐(0) 编辑

Kafka-序列化器与反序列化器的使用(自定义消息类型)
摘要:Kafka-序列化器与反序列化器的使用(自定义消息类型) 代码如下 Customer /** * @Author FengZhen * @Date 2020-03-30 22:49 * @Description 自定义序列化器的实体类 */ public class Customer { priva 阅读全文

posted @ 2020-04-06 15:29 嘣嘣嚓 阅读(1350) 评论(0) 推荐(0) 编辑

Kafka-再均衡监听器
摘要:Kafka-再均衡监听器 在为消费者分配新分区或移除旧分区时,可以通过消费者API执行一些应用程序代码,在调用subscribe()方法时传进去一个ConsumerRebalanceListener实例就可以了。 public void onPartitionsRevoked(Collection< 阅读全文

posted @ 2020-04-06 14:56 嘣嘣嚓 阅读(1754) 评论(0) 推荐(0) 编辑

Kafka-消费者-偏移量的提交方式
摘要:Kafka-消费者-偏移量的提交方式 每次调用poll()方法,它总是返回由生产者写入Kafka但还没有被消费者读取过的记录,可以追踪到哪些记录是被群组里的哪个消费者读取的。 更新分区当前位置的操作叫做提交。 消费者往一个叫做 _consumer_offset的特殊主题发送消息,消息里包含每个分区的 阅读全文

posted @ 2020-04-06 14:41 嘣嘣嚓 阅读(2174) 评论(0) 推荐(0) 编辑

Kafka-消费者(订阅主题消费数据及常用调优参数解析)
摘要:Kafka-消费者基础使用及常用参数解析 消费者和消费者群组 kafka消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息。 假设主题T1有4个分区,我们创建了消费者C1,它是群组G1里唯一的消费者,我们用它订阅主题T1。消费者C1将收到主题T1全部的4 阅读全文

posted @ 2020-04-06 13:24 嘣嘣嚓 阅读(2674) 评论(0) 推荐(0) 编辑

Kafka-分区
摘要:Kafka-分区 kafka的消息时一个个键值对,ProducerRecord对象可以包含目标主题和值,键可以设置为默认的null,不过大多数应用程序会用到键。 键有两个用途;可以作为消息的附加信息,也可以用来决定消息该被写到主题的哪个分区。拥有相同键的消息将被写到同一个分区。 如果键值为null, 阅读全文

posted @ 2020-03-31 23:24 嘣嘣嚓 阅读(403) 评论(0) 推荐(0) 编辑

Kafka-序列化器
摘要:Kafka-序列化器 自定义序列化器 不建议使用自定义序列化器,因为如果序列化器需要新增字段,则会出现新旧消息不兼容问题。推荐使用已知的序列化器和反序列化器,如JSON、Avro、Thrift或Protobuf. /** * @Author FengZhen * @Date 2020-03-30 2 阅读全文

posted @ 2020-03-30 23:35 嘣嘣嚓 阅读(917) 评论(0) 推荐(0) 编辑

Kafka-生产者发消息流程、使用及常用配置
摘要:Kafka-生产者 生产者发送消息流程 1.新建ProducerRecord对象,包含目标主题和要发送的内容。也可以指定键或分区 2.发送ProducerRecord对象时,生产者要把键和值对象序列化成字节数组,这样它们才能在网络上传输 3.数据被传给分区器。 如果ProducerRecord对象中 阅读全文

posted @ 2020-03-29 17:02 嘣嘣嚓 阅读(2910) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示