Kafka Consumer 读取事务消息

Kafka Consumer 读取事务消息 Kafka 在每次发送事务消息之后,还需要发送确认消息,才能表示此次事务完成。确认消息可以是事务确认成功的消息,也可以是事务终止的消息。如果是事务终止,那么此次事务需要回滚,所有涉及到该事务之前……

Kafka Producer 幂等性原理

Kafka Producer 幂等性原理 幂等性是指发送同样的请求,对系统资源的影响是一致的。结合 Kafka Producer,是指在多次发送同样的消息,Kafka做到发送消息的不丢失和不重复。实现幂等性服务,需要客户端和服务端的相互配合……

Kafka Consumer 管理 Offset 原理

Kafka Consumer 管理 Offset 原理 Consumer 元数据 Consumer本地也保存了关于管理Offset的元数据,它分为两部分,订阅信息和分区信息。consumer拉取消息之前,首先要确认分配到了哪些分区,这些数据就属于订阅相关的信息……

CDH 集群添加 Spark Sql 命令行

Cloudera 集群 添加 Spark Sql 命令行 目前需要从Hive Sql 迁移到 Spark Sql,但是CDH版本的集群,不支持Spark Sql命令行。这篇文章详细介绍了Cloudera的Spark命令是如何启动的,然后在此基础上添加Spark……

Kafka Rebalance 服务端原理

前言 上篇文章讲述了 Rebalance 在客户端的实现,这篇文章就来讲讲它在服务端是如何实现的。服务端由GroupCoordinator负责处理请求,包含寻找请求,加入请求,心跳请求等。 元数据 我们先来看看服务端维护了哪些……

Kafka 延迟任务

Kafka 延迟任务 时间轮概念 Kafka在处理请求时,使用了多种延迟任务来处理,比如心跳请求。Kafka自己实现了时间轮,提供任务的延迟定时。关于时间轮的概念,我们把常见的钟表想象成一个时间轮。 时间轮都有着自己……

Kafka Rebalance 客户端原理

前言 Kafka消费者提供了组的概念,它允许多个 consumer 共同消费一个 topic,而不会造成冲突。Kafka提供了Coordinator服务,负责管理消费组。当有新增的consumer加入组,或者有consum……

Kafka ConsumerNetworkClient 原理

Kafka ConsumerNetworkClient 原理 Kafka消费者会使用ConsumerNetworkClient发送和处理请求。ConsumerNetworkClient是在NetworkClient之外封装了一层,提供了异步的请求方法。它……

Kafka Producer 原理

前言 Kafka为使用者提供了客户端,负责向Kafka中写入消息,由KafkaProducer实现。KafkaProducer为了提高系统的吞吐量,它会先将消息缓存起来,然后以批次为单位的发送。具体原理……

Kafka 客户端元数据

Kafka 客户端 元数据 元数据结构 元数据主要描述了topic在Kafka的集群分布情况,比如以下图为例, 当我们需要发送信息给 topic_A ,首先我们回去Kafka集群获取这个 topic 的分布情况。我们知道 topic 由多个 partition 组成, 每个par……