ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kafka术语

2022-08-29 19:33:01  阅读:187  来源: 互联网

标签:术语 副本 分区 领导者 kafka 消息 日志 位移


Topic:发布订阅的对象称为主题(topic),可以为每个应用,每个业务甚至每个类创建专属的主题。

clients:生产者和消费者统称为clients。

  Producer:向主题发布消息的客户端应用称为生产者,生产者程序通常不断的向一个或多个主题发送消息。

  Consumer:订阅这些主题消息的客户端应用称为消费者,可同时订阅多个主题的消息。

Broker:Kafka服务器端,一个Kafka集群由多个broker组成。broker负责接收和处理客户端发送的请求,并对消息进行持久化处理。通常将多个broker分布于多台机器,提高其可用性。

Replication:实现高可用的另一个手段-备份机制。把相同的数据拷贝到多台机器上去。

  Replica:这些被拷贝到其他机器上的数据称为副本。

    Leader Replica:领导者副本,对外提供服务,直接与客户端进行交互。生产者总是向领导者副本写消息,消费者总是向领导者副本读消息。

    Follower Replica:追随者副本,不对外提供服务,被动追随领导者副本。只向领导者副本发送最新消息同步的请求,领导者副本将最新消息发送给追随者副本之后,两者之间保持同步。

Patition:分区,一个主题可以被划分为多个分区,分区编号从0开始,生产者生产的每条消息只会在一个分区中,假设有两个分区,该消息要么在0分区要么在1分区。每个分区下面配置多个副本,通常为一个领导者副本,N-1个追随者副本。生产者向分区写入消息,                    每条消息在分区中的位置信息由一个叫位移(Offset)的数据来表征。分区位移总是从 0 开始

总结来讲,三层消息架构:

  1)主题层,每个主题可以设置M个分区,每个分区可配置N个副本;

  2)分区层,每个分区配置N个副本,只有一个作为领导者副本对外提供服务,其余N-1个追随者副本只做数据冗余之用;

  3)消息层,分区中包含若干条消息,每条消息从位移0开始,依次递增。

数据持久化:使用磁盘上智能追加写的消息日志来保存数据,且只能追加写,避免了缓慢的随机IO操作;在底层Kafka将日志细分为多个日志段,消息被追加到最新的日志段中,写满后自动切分出新的日志段,将老的日志段封存起来,并定期检查老的日志段能否被删除。

分区位移与消费者位移:分区位移只分区内的消息位置,一旦消息被写到一个分区上其位移值就固定下来;消费者位移是随时变化的,因为其是消费者消费的进度指示。

标签:术语,副本,分区,领导者,kafka,消息,日志,位移
来源: https://www.cnblogs.com/hengw/p/16637056.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有