kafka常用核心组件

**producer:**消息生产者,负责将数据写入(push)到broker,或者说将消息发布到 kafka 集群。
**consumer:**消息的消费者,负责从kafka读取(pull)数据,老版本(0.9.0.0版本之前),消费者依赖zookeeper保存一些信息,如消费者群组的信息、主题信息、消费分区的偏移量;,新版本(0.9.0.0以及之后)引入了新的消费者接口,允许broker直接维护这些信息,不再依赖zookeeper存储这些信息。
**Consumer group:**每个consumer属于一个特定的consumer group(可为每个consumer指定group name,若不指定group name则属于默认的group)。
一条topic可以被多个消费者同时消费,但是若多个消费者同属于一个 consumer group,每条消息只能被consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。
**Broker ?*安装kafka服务的那台机器就叫一个broker,Kafka集群包含一个或多个服务器(broker),每个broker的id 在集群中全局唯一,每个broker可以容纳多个topic。
**Topic ?*相当于数据的一个分类,不同的topic存放不同的数据,每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)
Partition:parition是物理上的概念,每个topic包含一个或多个partition,创建topic时可指定parition数量。每个partition对应于一个文件夹,该文件夹下存储该partition的数据和索引文件,为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。
kafka只保证按一个partition中的顺序将消息发给consumer,不保证一个topic的整体(多个partition间)的顺序。
replica:partition 的副本,保障 partition 的高可用。
leader:replica 中的一个角色, producer 和 consumer 只跟 leader 交互。
follower:replica 中的一个角色,从 leader 中复制数据。
offset:kafka的存储文件都是按照offset.kafka来命名,用offset做名字的好处是方便查找。(offset也叫偏移量)例如你想找位于2049的位置,只要找到2048.kafka的文件即可。当然the first offset就是00000000000.kafka。
Message 消息,是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息
Producers 消息和数据生成者,向Kafka的一个topic发布消息的 过程叫做producers
Consumers 消息和数据的消费者,订阅topic并处理其发布的消费过程叫做consumers
ps:希望对刚刚学习kafka的小伙伴们有所帮助,欢迎大家多多批评指正,沟通交流

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值