Kafka初识

首页 » Kafka » Kafka初识

kafka: 分布式消息系统、消息队列,将消息直接存入磁盘,默认保存一周。

broker: 组成kafka集群的节点,之间没有主从关系,依赖于zookeeper来协调,而broker负责消息的读写和存储,一个broker可以管理多个partition。

producer: 消息的生产者,自己决定向哪个partition去生产消息,两种机制:hash、轮循。

Kafka初识

consumer: 消息的消费者,consumerf通过zookeeper去维护消费者偏移量。consumer有自己的消费者组,不同的组之间消费同一个topic数据,互不影响,相同的组内的不同的xonsumer消费同一个topic,这个topic中相同的数据只能被消费一次。consumer只能先消费已经链接上的partition上的数据。

topic: 一类消息的总称/一个消息队列。topic是由partition组组成的,个数是创建的时候指定。

partition: 组成topic的单元,每个partition有副本,副本的个数是创建的时候指定,每个partiton只能由一个broker来管理,这个broker是这个partition的leader。partition内部消息是强有序的,其中每个消息都有一个序号叫offset。

zookeeper: 协调kafka broker,存储元数据:consumer的offset+broker信息+topic信息+partition信息


Kafka的消息存储和生产消费模型

    • kafka里面的消息是由topic来组织的,可以想象为一个队列,一个队列就是一个topic,谈后它把每个topic又分为多个partition,这个是为了做并行处理,在每个partition里面是有序的,相当于有序的队列,其中每个消息都有个序号,比如0到12.
    • 一个partition对应一个broker,一个broker可以管多个partition,比如一个topic有5个partiton,有两个broker,那每个broker就管2个partiton。
    • partition可以想象为一个文件,当数据发过来的时候它就往这个partition上面append追加数据。而且kafka是根据时间策略删除数据,而不是消费完就删除,在kafka里面没有“消费完”这个概念,只有“过期“这一个概念,默认保存一周。

  • consumer自己维护消费到哪个offset
  • 每个consumer都有对应的group,不指定有人的组。
  • group内的queue消费模型
  1. 各个consumer消费不同的partition
  2. 一个消息只能被一个group 内的一个消费者消费一次
  • 各个group各自独立消费,互不影响。

kafka的特点

  • 分布式、数据副本,同一份数据可以到不同的broker上面去,就是当一份数据,当磁盘坏掉的时候,数据不会丢失,比如3个副本,这样当在3个机器磁盘都坏掉的时候数据才会丢失。
  • 消息持久化时间跨度比较长、消费状态自己可以维护消费到哪个地方了,可以自定义消费偏移量。

创建topic

Kafka初识
对节点分别启动kafka
Kafka初识
创建一个topic
  • topic的名字是t04
  • 3个分区
  • 每个分区3个副本
Kafka初识
创建成功
Kafka初识
生产者
  • 指定topic
  • broker-list 集群节点
Kafka初识
消费者
  • 指定topic
Kafka初识
生产消息
Kafka初识
消息

元数据

Kafka初识
进入zookeeper
Kafka初识
元数据
Kafka初识
消费者的消费偏移量(生产了10条数据)

如果producer生产的时候没有key,会每隔10分钟随机指定一个分区。上图给的是0号分区。

Kafka初识
10分钟后继续生产数据
Kafka初识
继续生产的数据随机到1号分区

Leader均衡机制

Kafka初识
  • 0号分区归属于2号节点
  • 1号分区归属于0号节点
  • 2号分区归属于1号节点
  • 0号分区的副本Replicas分布在0号、1号、2号节点上。
  • Isr的功能是挂掉的节点重活后检查数据的完整性。
  • 当节点broker挂掉后,分区会按照副本顺序重新寻找新的leader.
  • leader重活后,分区会自动再找到原来归属于重活后的leader,释放刚寻找的新的leader。(压力均衡)

删除topic

Kafka初识
对每一台节点进行删除
Kafka初识
标记删除
Kafka初识
已经被标记删除,一周后自动删除,期间还可以生产消息

立马删除topic

Kafka初识
Kafka初识

这个时候就彻底删除了topic。

分享到:
赞(0) 打赏

相关推荐

  • 暂无文章

评论 2

评论前必须登录!

 

  1. #1

    给你点赞

    渣渣辉3个月前 (05-26)
  2. #2

    还可以

    渣渣辉3个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00

      登陆仅提取账号昵称,并无其他功能。

      为了服务器更好的运行,请使用第三方账号登陆。

      授权名称使用的公安备案名称——菜鸟奋斗历程,请知悉。