![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
lixia0417mul2
避免成为那些从来没有接触过真正技术的所谓技术生涯
展开
-
flink kafka的enableCommitOnCheckpoints 和 enable.auto.commit 参数
flink kafka的enableCommitOnCheckpoints 和 enable.auto.commit 参数原创 2024-05-09 22:05:52 · 1150 阅读 · 0 评论 -
kafka 错误日志TimeoutException: Timeout of 60000ms expired before the last committed offset for partitio
kafka无法消费主题的消息原创 2024-03-14 22:36:08 · 1115 阅读 · 0 评论 -
kafka消费端消息去重方案
消息队列消费端数据去重方案原创 2024-03-06 21:27:10 · 628 阅读 · 0 评论 -
kafka容灾演练的方案
kafka容灾原创 2023-12-29 10:25:14 · 794 阅读 · 0 评论 -
kafka实现延迟消息
kafka实现延时消息原创 2023-12-29 10:23:57 · 1487 阅读 · 0 评论 -
flink状态不能跨算子
flink状态的作用域原创 2023-11-02 21:31:25 · 183 阅读 · 0 评论 -
flink中使用异步函数的几个注意事项
flink 异步函数注意事项原创 2023-10-23 01:19:06 · 603 阅读 · 0 评论 -
从Flink的Kafka消费者看算子联合列表状态的使用
flink算子联合列表状态原创 2023-10-16 01:45:14 · 1509 阅读 · 0 评论 -
源码解析FlinkKafkaConsumer支持punctuated水位线发送
Punctuated水位线生成源码解析原创 2023-10-14 12:04:49 · 890 阅读 · 0 评论 -
flink kafka消费者如何处理kafka主题的rebalance
flink kafka如何处理rebalance的原创 2023-08-07 22:25:14 · 1378 阅读 · 0 评论 -
flink如何初始化kafka数据源的消费偏移
flink对kafka消费偏移的处理原创 2023-07-17 00:03:45 · 880 阅读 · 0 评论 -
“坏邻居”导致的kafka生产者TPS下降原因排查
java压测注意事项 kafka压测过程中的坏邻居原创 2023-07-12 22:31:15 · 1090 阅读 · 0 评论 -
kafka主题支持路由功能
kafka路由 kafka模拟rabbitmq路由设计原创 2023-07-10 21:36:17 · 771 阅读 · 0 评论 -
日志消息直接发送到kafka设计
日志消息直接推送kafka 日志消息不保存到本地磁盘原创 2023-07-10 21:33:26 · 586 阅读 · 0 评论 -
kafka消息自带时间戳类型
kafka记录时间戳 kafka记录自带时间戳 kafka记录自带的时间戳的含义 kafka消息中时间戳字段的含义原创 2023-03-27 21:50:21 · 561 阅读 · 0 评论 -
消息队列的顺序性保证
消息顺序性 kafka提供的消息顺序性语义原创 2023-02-27 01:02:45 · 334 阅读 · 0 评论 -
kafka的消费者客户端偏移的维护
kafka消费者客户端在首次从kafka的内部偏移主题中获取到偏移量之后,如果在之后的过程中,客户端没有进行分区重分配等操作,那么中间过程中无论服务器的内部偏移主题中的偏移量如何变化,消费者客户端自身的这个偏移量都是递增的.比如使用自定义分区策略实现了一个广播的消费者客户端模式:当前有两个消费者客户端消费同一个分区的消息,这两个消费者消费过程中假设都提交消费偏移量,这样这两个消费偏移量在内部偏移主题中是互相覆盖的关系,但是这并不影响这两个客户端在这个消费过程中自身的客户端偏移量是递增的,pull拉取的消息原创 2021-08-19 01:47:16 · 281 阅读 · 0 评论 -
kafka的延迟操作-pull操作详解
kafka的延迟操作和正常我们服务端处理事件的方式不一样,我们服务器正常情况下处理数据都是尽可能快的返回当前的结果,但是kafka的延迟操作不一样:比如生产者发送ack=-1的数据到服务端leader分区所在的主broker上,此时主broker在把消息写入本地文件后要进行等待,此时会创建一个延迟操作,等到其他副本broker同步了该消息并写入对应的日志文件后才会提前触发这个延迟操作的执行,否则需要等待超时时间到了之后再执行.由此延伸出kafka消息拉消费模式的理解:其实拉的时效性和主动推送是差不多的,原创 2021-08-19 01:35:21 · 1022 阅读 · 0 评论 -
kafka实现组内广播
kafka的消费者分区分配策略的客户端和服务端职责如下:kafka消费者客户端实现具体的分区分配策略,然后把该策略的名称发送给服务端的groupCordinator进行选择,然后把选择好的分区分配策略发送给消费者组中的leader消费者,leader消费者实现具体的分区策略分配逻辑,然后把最终分区分配结果发送给groupCordinator,groupCordinator再把这个结果同步给其他的消费者,过程结束了解了分区分配策略之后我们再来看一下怎么实现kafka的组内广播功能,首先定义一个自定义的分区原创 2021-08-08 13:40:30 · 2419 阅读 · 1 评论 -
kafka分区分配策略
kafka的分区分配策略大概可以分为一下几步:前置条件:a.假设消费者组到对应的server的GroupCordinator是已知的,这个groupCordinator和消费组对应的_offset_消费主题所在的leader分区在同一个broker上面b.对于每个消费者服务端都会给一个独一无二的标识:client_id + uuid标识1.每个消费者发送joingroup请求到groupCordinator中,这个请求中带着分区策略(比如rangeAssignator和stickyAssignat原创 2021-08-08 13:22:54 · 162 阅读 · 0 评论 -
kafka性能高的影响因素
1.使用操作系统的页缓存kafka的性能非常依赖于操作系统的页缓存,页缓存提供了比kafka进程内存更好的缓存方式。2.零拷贝(linux的sendfile函数,对应FileChannel.transferto函数)正常的从磁盘发送数据到网络要经过一下几个步骤:a.把数据从磁盘读取到内核的read buffer内存中b.把内核read buffer内存的数据读取到应用程序的用户内存uer buffer中c.把用户user buffer内存中的数据写到socket buffer内核内存中d.dm原创 2021-08-06 02:07:12 · 417 阅读 · 0 评论 -
kafka内部消费偏移
1.kafka的内部主题:__consumer_offsets,这个主题正常有50个分区,存放着消费组的消费偏移地址,这个消息的key是消费者组,这个主题是可以通过key进行压缩的(这里的压缩是指比如msg1和msg10的消息key都是同一个,压缩后只需保留最后一条msg10即可)2.每个消费者组消费主题的时候需要从内部偏移量主题的开头开始找对应这个消费者组自己的偏移吗?答案是否,其实这个内部消费主题的作用是保存消费者对应的偏移,当broker集群重启的时候,broker服务器会遍历这个内部偏移量主题,原创 2021-08-04 00:42:20 · 203 阅读 · 0 评论 -
kafka日志格式和分区
一.kafka分区1.生产者把日志写到哪个分区是客户端决定的客户端有一个partition分配器,正常情况下,如果没有指定key的话,消息会随机写到主题的N个分区中去.如果指定了key的话,会根据key进行hash到某个特定的分区中去2.和es不同,kafka可以随意增加分区数量,对于不指定key的生产者客户端来说,增加分区数量没有任何副作用,对于指定key的生产者来说,此时相同的key有可能写到不同的分区中二.分区副本的具体日志格式:1.一个分区副本对应一个目录结构:里面包含多个SegmentL原创 2021-08-04 00:20:27 · 395 阅读 · 0 评论 -
kafka消息格式
1.当前kafka最新的消息格式版本为v2版本这一版本的特点是RecordBatch的形式,其中包含了多条productRecord消息,每条消息的公共部分抽取到了Recordbatch的消息头部分中,并且所有整数都使用了可变字节长度编码,也就是数值越小,所占的位数就越少.所以这样一个Recordbatch的消息就可以节省很多存储空间对于压缩的消息,v2版本其实是对RecordBatch里面的record列表进行整体压缩2.对于kafka消息的流向:生产者生产RecordBatch消息(顺带压缩,如原创 2021-08-03 23:57:24 · 639 阅读 · 0 评论