kafka学习相关--kafka术语总结

一句话描述kafka

kafka是一种分布式消息引擎系统,主要功能是提供一套完整的消息发布和订阅的方案

术语

  • Topic :发布订阅的对象,我们可以为每个业务、每个应用甚至是每类数据都创建专属主题
  • Producer:向主题发布消息的客户端应用程序被叫做生产者,它通常会持续不断向一个或者多个主题发送消息
  • Consumer: 订阅主题消息的客户端应用程序被叫做消费者,消费者通常也可以订阅一个或多个主题,消费对应主题内的消息
  • Clients: 生产者消费者统称为客户端

一句话总结: 用微信公众号类比就是,主题就相当于一个微信公众号,我们作为用户(消费者)可以订阅很多很多微信公众号(主题) ,而各个公司、学校、或者其他个体(生产者)都有可以创建自己的公众号,甚至多个(主题),他们通常会不断的在公众号发布内容,而我们则可以在订阅了的公众号内消费内容

  • Server: 即服务器端,kafka的服务器端由Broker服务进程构成
  • Broker: 负责接收和处理客户端发送过来的请求,以及对消息进行持久化的服务进程。特别之处在于,Broker进程能够分散运行在不同的机器上,如果kafka集群中某一个节点(机器)宕机挂掉了,其余broker依旧能够对外提供服务。
  • Replication/Replica: 备份机制/副本。即把相同的数据拷贝在多台机器上。这在kafka中叫做副本(Replica),副本数量可配置。Kafka定义了两种副本类型,leader replica和follower replica。
  • Leader replica :领导者副本。对外提供服务,即对客户端提供服务,处理请求并进行持久化。
  • Follower replica: 追随者副本。不和外界进行交互,只做一件事,向领导者发送请求,让领导者副本把最新生产和消费的消息发送给它,保持和领导者的同步
  • Scalability:伸缩性。当副本积累的数据太多以至于单台broker机器无法容纳了,Kafka是通过将数据分割成多份保存在不同的broker上,这种机制叫做Partition(分区)
  • Partition:分区。Kafka分区机制是指将每个主题划分成多个分区,每个分区都是一组有序的消息日志。生产者生产的每条消息只会被写入在一个分区中。分区号是从0开始的。
  • Offset:位移。生产者向分区写入消息的时候,每条消息在分区的位置信息由位移来表示,可以当作坐标理解,分区位移从0开始,写入5条消息,则位移分别为0,1,2,3,4
    总结Kafka的消息结构
  • 主题层:每个主题可以划分为M个分区,每个分区可以配置N个副本
  • 分区层:每个分区中有N个副本,只有一个能充当领导者和生产者以及消费者交互,副本可以在多台机器上。
  • 消息层:每个分区中包含若干消息,消息从0开始,一次递增

Kafka broker如何持久化数据的?
使用消息日志来保存数据。即Log。日志就是磁盘上只能追加写的物理文件,使用顺序I/O写操作。Kafka会定期删除消息以清理磁盘,日志被细分为日志段,写满一个日志段后就往新的写,旧的日志段则被封存。同时在后台检测老的日志段是否能够被删除回收空间。

消费者组的概念
消费者组是指将多个消费者实例组成一个组来消费一个主题内的消息。这个主题内的消息只会被组内的一个消费者消费,其他消费者不能消费。这样可以提升消费端的吞吐量,因为有多个消费者在进行消费。
消费者位移(Consumer Offset):即记录每个消费者当前消费到了分区的哪个位置的值

重平衡
Rebalance。消费者组内某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程。Rebalance 是 Kafka 消费者端实现高可用的重要手段。

图片展示概念

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值