美文网首页
Kafka学习

Kafka学习

作者: 楚木巽 | 来源:发表于2021-08-30 14:33 被阅读0次

Kafka术语学习

  • broker
    • Kafka集群包含一个或多个服务器,服务器节点称为broker
  • Topic
    • 每条发不到Kafka集群的消息都有一个类别,这个类别称为Topic。(类似于数据库的表名)
  • Partition
    • topic中的数据分割为一个或多个partition。每个topic至少有一个partition,每个partition中的数据使用多个segement文件存储。partition中的数据是有序的,不同partition间的数据丢失了数据的顺序。在需要严格保证消息的消费顺序的场景下,需要将partition的数目设为1.
  • Consumer
    • 消费者可以从broker中读取数据。消费者可以消费多个topic中的数据。
  • Comsumer Group
    • 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)
  • Leader
    • 每个partition有多个副本,其中有且仅有一个作为Leader,Leader是当前负责数据的读写的partition。
  • Follower
    • Follower跟随Leader,所有写请求都通过Leader路由,数据变更会广播给所有Follower,Follower与Leader保持数据同步。如果Leader失效,则从Follower中选举出一个新的Leader。当Follower与Leader挂掉、卡住或者同步太慢,leader会把这个follower从“in sync replicas”(ISR)列表中删除,重新创建一个Follower。

两种信息模式

P2P模式

包含三个角色:消息队列、发送者、接收者

  • 每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)
  • 发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列
  • 接收者在成功接收消息之后向队列应答成功

Pub/sub模式

包含三个角色:主题、发布者、订阅者

  • 每个消息可以有多个消费者
  • 发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅之后,才能消费发布者的消息。
  • 为了消费消息,订阅者必须保持运行的状态。

相关文章

网友评论

      本文标题:Kafka学习

      本文链接:https://www.haomeiwen.com/subject/fafoiltx.html