kafka学习笔记2

本文探讨了Kafka在分布式环境下的消息顺序性保障,解释了Kafka的分区(Partition)策略以及如何通过Producer的key保证消息顺序。同时,介绍了Consumer Group的消费模式,offset管理和消费理念。此外,还涵盖了Partition Replicas的角色、Zookeeper在协调中的作用以及Producer发送消息的流程和确认机制。
摘要由CSDN通过智能技术生成

1、kafka分布式的情况下如何保证消息的顺序性

kafka并不适用对数据时序性要求严格的场景

Kafka的做法是提供消息队列,让生产者单往队列的末尾添加数据,让多个消费者从队列里面依次读取数据然后自行处理

【生产】kafka的分布式单位是partition。同一个partition内的数据可以保证时序。不同partition之间无法保证消息的顺序性。可以设置producer生产message的key值,同一个key会追加到同一个partition上,故可保证同一个producer的消息的时序性

2、一个consumer group可以消费多个topic。一个topic可以被多个consumer group消费。

一个message只能被同一个consumer group中的consumer消费一次。

消费最优是consumer group中的partition数量和consumer group中的数量相同。

3、high level api和offset是由zookeeper维护。low level api和offset是由consumer自己维护

4、kafka的消费理念是at last once。新启动的consumer group默认从partition的头位置开始读取数据。kafka consumer默认是处理完message再commit。

5、consumer blance的触发条件是:(1)consumer的增加和删除 (2)broker的增加或减少

6、kafka produce无需保存offset状态,offset保证自增就ok了。produce message时无需制定partition,kafka会把收到的message进行load balance,按照hash(message key)%partition数量的方式,将message均匀的分布在topic所有的partition

7、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值