原 Kafka科普系列 | 什么是LSO?https://blog.csdn.net/u013256816/article/details/88985769版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.csdn.net/u013256816/article/details/88985769
很多同学对于Kafka的认知仅限于在LEO和HW之间,有可能认知还出现错误,对此记住一点,这两个都是指最后一条的下一条的位置而不是指最后一条的位置。不过本文的关注点不在于此,而在于LSO这个概念。如果需要了解LEO和HW的同学可在文末留言,后面也可以考虑出个科普LEO和HW的文章。
LSO特指LastStableOffset,在上一篇《Kafka科普系列 | 什么是LW和logStartOffset》中提及过这个概念,它具体的与Kafka的事务有关。
可能大家在使用Kafka的时候并没有太在意一个消费端的参数——isolation.level,这个参数用来配置消费者的事务隔离级别。字符串类型,有效值为“read_uncommitted”和 “read_committed”,表示消费者所消费到的位置,如果设置为“read_committed”,那么消费者就会忽略事务未提交的消息,即只能消费到 LSO(LastStableOffset)的位置,默认情况下为 “read_uncommitted”,即可以消费到 HW(High Watermark)处的位置。注意:follower副本的事务隔离级别也为“read_uncommitted”,并且不可修改。
对于Kafka中事务的讲解会在后面的系列文章《Kafka科普系列 | 什么是Kafka的事务?》中进行解答,在这里只需了解:在开启Kafka事务时,生产者发送了若干消息(比如msg1、msg2、msg3
Kafka科普系列什么是LSO
最新推荐文章于 2024-07-19 08:55:51 发布
本文介绍了Kafka中的LastStableOffset(LSO)概念,它与Kafka事务和消费者的isolation.level参数密切相关。LSO影响事务可见性和消费滞后量(Kafka Lag)的计算。当isolation.level设为"read_committed"时,Lag等于LSO - ConsumerOffset,否则不受影响。了解LSO能帮助在面试中脱颖而出。
摘要由CSDN通过智能技术生成