Kafka的消费者分区分配策略

本文是《Kafka的Consumer Group Rebalance》一文的补充部分,主要附加介绍一下Kafka内置的几种分区分配策略。Kafka定义了一个消费者组内分区分配的接口ConsumerPartitionAssignor,该接口里面最核心的是assign方法:package org.apache.kafka.clients.consumer; public interface C...

Kafka的Consumer Group Rebalance

什么是Consumer Group Rebalance?Kafka Consumer创建的时候都要指定一个组ID(group id),所有组ID一样的Consumer就组成了一个Consumer Group。对于一个Partition同一时刻只会分配给同一个Group内某一个Consumer,这就是大家熟知的Kafka消费模型。通过这个模型,Kafka的消费者(也就是应用/服务)可以很方便的...

Kafka的监听地址配置

本文基于Kafka 2.8.有时我们会碰到网络是通畅的,但却连不上Kafka,特别是在多网卡环境或者云环境上很容易出现,这个其实和Kafka的监听配置有关系。本文介绍监听相关的配置,目前监听相关的参数主要有下面几个:listenersadvertised.listenerslistener.security.protocol.mapinter.broker.listener.namesecu...

Kafka的Producer

上篇文章介绍了Kafka Consumer,这篇文章讨论Kafka Producer。Kafka Producer流程概述下面是一个简单的Producer实现:public class SimpleProducer { public static void main(String[] args) { Properties config = new Properties(); ...

Kafka的多线程消费者实现

Kafka的消费者类KafkaConsumer是非线程安全的,那如何实现多线程的Consumer呢?先了解一下一般Consumer的流程。如上图:通过poll方法从kafka集群拉取数据;处理数据提交offset(如果开启了自动提交enable.auto.commit=true,则每次poll的时候会自动提交上一次poll的offset)如此往复。翻译成代码类似下面这样: Proper...

Kafka的存储

Kafka的存储层级概念上比较简单,一个topic分为若干partition,一个partition再分为若干segment。下图是一个示例:topic是个逻辑概念,partition和segment则是真实存储数据的:一个partition对应磁盘上面一个目录,一个segment对应partition目录下的一个日志文件,消息数据就是以append-only的方式顺序写入segment文件...

Kafka的扩容和缩容

本文讨论Kafka的扩缩容以及故障后如何“补齐”分区,本文的操作基于Kafka 2.6版本。扩容扩容也就是新增节点,扩容后老的数据不会自动迁移,只有新创建的topic才可能会分配到新增的节点上面。如果我们不需要迁移旧数据,那直接把新的节点启动起来就行了,不需要做额外的操作。但有的时候,新增节点后,我们会将一些老数据迁移到新的节点上,以达到负载均衡的目的,这个时候就需要手动操作了。Kafka提...

Kafka的可靠性

本文讨论一下Kafka广义上的可靠性,所谓广义是从不同的角度、不同维度去观察系统的可靠性,比如从生产者(Producer)的角度看如何保证已经确认的数据一定写入了系统,不会丢失;从消费者(Consumer)的角度,只要数据没有彻底丢失,就可以读取。再比如从服务端(Broker)的角度,如何保证在可用性(Availability)和持久性(Durability)方面做权衡。副本机制分布式系统的...
News
博客暂时休业中...

我负责的数据中台部门一直在招聘大数据方面的人才(base地在西安和南京),如果你有兴趣,欢迎和我联系!18809185643(微信同号)
最近评论
勇往直前Yarn管理的资源,在Flink WebUI 上提交的Job好像只能使用Session Clu...
1感谢
王桑~自问自答:Job的提交过程:下载应用所需的依赖执行main()方法提取 job graph将依...
王桑~您好,请教个问题flink 1.11后,引入了application mode,这个模是在集群...
称呼你还会打羽毛球?
二里庄本狱友前来观摩了
王叔叔纠正博主一个错误一般生产环境比较推荐Session ClusterJob Cluster用的比...
王叔叔文字写的真棒,是近几个月看过的最好的技术博客。博主原来也在菊花厂待过,也算是狱友了,祝好~
lay为什么两次心率会差这么多呢
刘海数值类型的termQuery被转换成了pointRangeQuery,性能会受影响吗?要不要把...