kafka原理解析(角色)

kafka是一个类似公众号类型的“订阅-推送”模式的消息队列,本文通过公众号类比来理解kafka的角色。

1,Producer:公众号的作者,发布文章(消息)到指定公众号上(broker),
2,Broker:Kafka节点就是被称为Broker,可以理解为一个公众号,每个公众号都有自己主要偏向的主题,有科技类的,影视类的,这种类型就是topic,公众号(Broker)主要负责创建文章主题(Topic),存储作者(Producer)所发布的文章(消息),记录消息处理的过程,现是将消息保存到内存中,然后持久化到磁盘。
3,Topic:同一个主题的文章(同Topic的消息)可以分布在一个或多个公众号上(Broker)上,一个主题(Topic)包含一个或者多个Partition分区,数据被存储在多个Partition中。
4,replication-factor:意思为创建当前的文章主题(Topic)是否需要副本,如果在创建Topic时将此值设置为1的话,代表整个Topic在Kafka中只有一份,该复制因子数量建议与公证号数量(Broker节点)数量一致。
5,Partition:分区;公证号存储文章的时候,会有主题(Topic)在物理上的分组,一个Topic在Broker中被分为1个或者多个Partition,也可以说为每个Topic包含一个或多个Partition,(一般为kafka节. 点数CPU的总核心数量)分区在创建Topic的时候可以指定。分区才是真正存储数据的单元。
6,Consumer:公众号的订阅者,消息和数据的消费者,主要负责主动到已订阅的Topic中拉取消息并消费,为什么Consumer不能像Producer一样的由Broker去push数据呢?因为Broker不知道Consumer能够消费多少,如果push消息数据量过多,会造成消息阻塞,而由Consumer去主动pull数据的话,Consumer可以根据自己的处理情况去pull消息数据,消费完多少消息再次去取。这样就不会造成Consumer本身已经拿到的数据成为阻塞状态。
ZooKeeper:ZooKeeper负责维护整个Kafka集群的状态,存储Kafka各个节点的信息及状态,实现Kafka集群的高可用,协调Kafka的工作内容

原帖地址 http://www.yunweipai.com/34283.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值