Kafka知识点概述

本文介绍了Kafka的消息有序实现,包括生产者通过分区的leader副本保证写入顺序,消费者通过分区内消费保证顺序。同时,文章讨论了Kafka的ISR机制,即与leader副本保持同步的副本集合,以及Kafka如何根据消息键保证相同类型的消息写入相同分区。此外,还探讨了Kafka的消费者模式、数据不重复和不丢失的策略以及Zookeeper在Kafka中的角色和Kafka的ack三种机制。
摘要由CSDN通过智能技术生成

kafka架构

Kafka是如何实现消息有序的?有哪些分区算法?


(一)Kafka是如何让实现消息有序的 生产者:通过分区的leader副本负责数据以先进先出的顺序写入,来保证消息顺序行。消费者:同一分区内的消息只能被一个group里的消费者消费,保证分区内消费有序。Kafka每个partition中的消息写入时都是有序的,消费时,每个partition只能被每一个消费者组中的一个消费者消费,保证了消费时也是有序的。整个kafka不保证有序。如果为了保证kafka全局有序,那么设置一个生产者,一个分区,一个消费者。
(二)Kafka有哪些分区算法? 轮询策略:将消息顺序分配到各个分区中,假设一个主题下有三个分区,第一条消息将被发送到分区0,第二条消息被发送到分区1,第三条消息被发送到分区2,以此类推,第四条消息被发送到分区0。轮询策略有非常优秀的负载均衡表现,它总是能保证消息最大限度地被平均分配到所有分区上,故默认情况下它是最合理的分区策略,也是我们最常用的分区策略之一。
随机策略:
将消息随机地放到任意一个分区上,本质上看随机策略也是力求将数据均匀地打散到各个分区,但稍逊于轮询策略,所以如果追求数据的均匀分布,还是使用轮询策略比较好。事实上,随机策略是老版本生产者使用的分区策略,在新版本中已经改为轮询策略了
按消息键保序策略&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值