kafka-api

kafka-api依赖<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId>     阅读全文
丁起男's avatar
丁起男 03月 24,2022

kafka-消费者

kafka-消费者消费模式消费者采用pull模式,主动从broker中拉取数据没有采用push(推)模式是因为由broker决定消费速率,很难适应所以消费者的速率pull模式的不足之处是,如果kafka没有数据,消费者可能会陷入循环中,一直返回空数据消费者组消费者组,由多个消费者组成。形成一个消费者     阅读全文
丁起男's avatar
丁起男 03月 23,2022

kafka-文件存储机制

kafka-文件存储机制topic是逻辑上的概念,而partition是物理上的概念,每一个partiton对应一个log文件,该log文件中存储的是producer生产的数据。producer生产的数据会不断被追加到该log文件末端,为了防止log文件过大导致数据定位效率低下,kafka采取了分片     阅读全文
丁起男's avatar
丁起男 03月 16,2022

kafka-副本

kafka-副本作用:提高数据可靠性kafka中副本分为leader和follower,kafka生产者只会把数据发往leader,然后follower找leader进行数据同步ar:所有的副本,ar=isr+osrisr:和leader抱持同步的副本集合(包括leader)osr:和leader同     阅读全文
丁起男's avatar
丁起男 03月 15,2022

kafka-数据乱序

kafka-数据乱序kafka1.x版本之前需要设置:max.in.fight.requests.per.connection=1让生产者缓存发送数据为1(不需要考虑幂等性)kafka1.x版本之后在未开启幂等性时,需要和1.x之前一样让生产者缓存发送数据为1在开启幂等性后,可以让生产者缓存5个以内     阅读全文
丁起男's avatar
丁起男 03月 08,2022

kafka-数据不重复

kafka-数据不重复在kafka0.11版本后,引入了:幂等性和事务幂等性就算指不论向broker发送多少次数据,broker都只会持久化一条,保证不会重复数据的传递语义至少一次:ack级别设置为-1 + 分区副本数大于等于2 + isr里应答的最小副本数大于等于2,保证数据不丢失,但是可能会重复     阅读全文
丁起男's avatar
丁起男 03月 03,2022

kafka-生产者如何提高吞吐量

kafka-生产者如果提高吞吐量可以通过添加以下设置提高吞吐量修改批次大小,默认16kproperties.put(ProducerConfig.BATCH_SIZE_CONFIG,16384);修改等待时间,默认0ms(不等待,所以默认批次大小无意义)properties.put(Producer     阅读全文
丁起男's avatar
丁起男 03月 02,2022

kafka-分区器

kafka-分区器分区的好处便于合理使用存储资源,每个分区在一个broker上存储,可以把海量的数据按照分区切割成多块数据存储在多台broker上,合理控制分区的任务,可以实现负载均衡的效果提高并行度,生产者可以以分区为单位发送数据;消费者可以以分区为单位消费数据默认分区器默认使用DefaultPa     阅读全文
丁起男's avatar
丁起男 03月 02,2022

kafka-笔记

kafka-笔记kafka是一个分布式流平台。一个分布式的流平台应该包含3个关键的能力发布和订阅数据流,类似于消息队列或者是企业消息传递系统以容错持久化方式存储数据流处理数据流目录结构目录说明bin执行脚本。例如:启动kafka服务器、创建topic、生产者、消费者程序等config配置文件libs     阅读全文
丁起男's avatar
丁起男 01月 16,2022