kafka基础知识点整理

1、主要组成:生产者,消费者,topic,borker(实例),分区(Partition)
2、一个topic下可以有多个分区(Partition),创建topic时可以传参设置,默认是一个topic一个分区,其他的消息中间件大部分都是只有一个分区,kafka可以多个分区同时消费,所以kafka的吞吐量是很大的
3、和ActiveMq对比
activeMq:消息被消费之后会返回sck,消息队列接收到sck则会清除队列中的消息
Kafka:配置项中设置默认的消息过期时间,默认是七天,到期之后会清除分区中的消息,没到期之前不会清除,消费的顺序通过(偏移量)offset来记录。Kafka还可以制定offset进行消费,可以从头开始,也可以只消费最新的消息,也可以指定具体的offset。多个分区,也需要制定具体的分区,然后再指具体的偏移量(offset)
4、集群状态下,kafka会选举leader,消息发布会同步给其他节点
5、如果同一个topic下存在多个分区Partition,kafka默认采用轮询机制关联不同的Leader,主要是实现高可用的特点,不至于一个节点挂了,影响所有的消息传递
6、Kafka集群搭建,需要修改borker.id,监听的端口,日志的路径,连接在同一个注册中心
7、Kafka的主要配置文件是server.properties
8、可以同步发,也可以异步发送
9、生产者常用属性:
在这里插入图片描述

10、消费者常用属性:
在这里插入图片描述

11、官网文档地址:https://kafka.apache.org/28/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html
12、Kafka消息丢失:可以给生产者添加重试属性
13、Kafka重复消费:自动提交offset可能会存在重复消费的问题,可以改为手动提交,消费者获取消息之后,如果消息的数量大于0(record.count() > 0),则手动提交offset

14、Kafka如何保证数据的可靠性,就是数据成发送
(1)Ack机制,
①0:只管发送,不考虑发送成功还是没成功
②1:只保证发送给leader,不管其他节点同步成功没成功
③-1(all):只有全部节点都同步成功,才会认定发送成功
15、isr机制:副本列表,副节点会拉去leader节点的数据,isr列表中的默认都是正常节点,都能和leader节点保持数据一致,
(1)副节点失效的场景:根据副本和leader 的交互时间差,如果大于某个时间差 就认定这个副本不行了,就把此副本从isr 中剔除,此时间差根据
配置参数rerplica.lag.time.max.ms=10000 也就是默认10s,isr中的follow没有向isr发送心跳包就会被移除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值