Kafka学习

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)的订阅者,它必须创建一个订阅之后,才能消费发布者的消息。
  • 为了消费消息,订阅者必须保持运行的状态。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Kafka 官网: Kafka 主要设计目标如下: 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 T...
    灯火gg阅读 907评论 0 2
  • 图示 生产消费过程 Partition Leader 和 Partition Follower之间的关系 Part...
    166702df7928阅读 287评论 0 0
  • 1. Kafka消费方式:通过Flume,将kafka消息存储到HDFS 通过Spark Streaming读取...
    解宏斌阅读 812评论 0 0
  • Kafka是一个分布式消息队列,为处理实时数据提供一个统一、高吞吐量、低等待的平台,提供了类似于JMS的特性,但是...
    TOTower阅读 847评论 3 14
  • 在公司做数据推送时,开始接触kafka。由于那一套kafka数据推送的框架并不是笔者本人搭建的,因此只是停留在浅显...
    东方一号蓝阅读 631评论 0 3

友情链接更多精彩内容