Kafka 概述
创始人
2024-05-30 09:54:32
0

Kafka 概述

  • Broker
  • 消费者

Kafka 属于分布式的消息引擎系统,主要功能 :提供一套完备的消息发布与订阅解决方案

生产者和消费者都是客户端(Clients):

  • 生产者(Producer):向主题发布消息的客户端应用程序
  • 消费者(Consumer):订阅这些主题消息的客户端应用程序

Kafka 服务端 :

  • 由多个 Broker 进程构成
  • Broker 负责接收/处理客户端发送过来的请求,和消息进行持久化

Broker

备份机制(Replication):实现高可用

  • 备份思想:把相同的数据拷贝到多台机器上,形成副本(Replica)

Kafka 有两类副本:

  • 领导者副本(Leader Replica):对外提供服务,与客户端程序进行交互
  • 追随者副本(Follower Replica):只追随领导者副本,不与外界进行交互

副本机制:

  • 生产者向领导者副本写消息
  • 消费者从领导者副本读消息
  • 追随者副本:只向领导者副本发送请求,与领导者的同步

伸缩性(Scalability) :

  • 利用分区机制把数据切分到不同的 Broker 上
  • 分区机制:将每个主题划分成多个分区(Partition)
  • 每个分区是一组有序的消息日志
  • 生产者的每条消息只会发送到一个分区中
  • 分区编号是从 0 开始的,如 : Topic 有 20 个分区,分区号是从 0 到 19

副本/分区关系 :

  • 每个分区下能配置 n 个副本(1 个领导者副本/ N-1个追随者副本)
  • 生产者向分区写入消息,每条消息在分区位置由位移(Offset)表示
  • 分区位移从 0 开始,如 : 生产者向空分区写入10 条消息,该消息的位移是 0 - 9

Kafka 三层消息架构:

  • 一层 :主题层,每个主题能配 M 个分区,每个分区能配 N 个副本
  • 二层:分区层,每个分区的 N 个副本中只有一个领导者角色,对外提供服务;其他 N-1 个副本只先领导副本拉取数据,实现数据冗余
  • 三层:消息层,每个分区有 T 条消息,每条消息的位移从 0 开始,依次递增
  • 客户端只与分区的领导者副本进行交互

Kafka Broker 持久化数据 :

  • 用消息日志 (Log) 来保存数据
  • 一个日志是一个只能追加写 (Append-only) 消息的物理文件
  • 实现高吞吐量 :追加写入,能避免随机 I/O 操作,改为顺序 I/O 写操作

Kafka 定期删除消息 :

  • 利用日志段(Log Segment)机制定期删除消息来回收磁盘
  • 一个日志分成多个日志段,消息只写到最新的日志段中,当写满后,就自动分出新的日志段,并把老日志段保存
  • 后台定时任务检查老日志段是否能够被删除,来实现回收磁盘

消费者

两种消息模型 :

  • 点对点模型(Peer to Peer,P2P) : 同条消息只能被一个消费者消费
  • 发布订阅模型

Kafka 实现 P2P 模型 : 引入了消费者组(Consumer Group)

  • 消费者组 : 多个消费者实例为一个组来消费一组主题
  • 该组主题的每个分区只能被组内的一个消费者实例消费
  • 多个消费者实例同时消费,加速整个消费端的吞吐量(TPS)
  • 消费者实例能是一个进程或一个线程,都是一个消费者实例(Consumer Instance)

重平衡 (Rebalance) :

  • 消费者组内某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程
  • 实现消费者高可用

消费者位移 (Consumer Offset) :

  • 表示消费者消费进度,每个消费者都有自己的消费者位移

在这里插入图片描述

相关内容

热门资讯

安卓系统保存照片,安卓系统照片... 手机里的照片是不是越来越多,你有没有想过,这些珍贵的回忆是怎么被安卓系统保存下来的呢?今天,就让我带...
手机安卓系统会卡吗,安卓手机系... 你有没有发现,手机用久了,尤其是安卓系统,有时候会变得有点“慢吞吞”的?这不,今天就来聊聊这个话题,...
安卓系统自己安装mim,And... 你有没有发现,你的安卓手机最近有点儿“聪明”了呢?它竟然自己动手安装了MIM(Mirroring)应...
iwork10安卓系统,创新办... 你有没有发现,最近你的手机是不是变得越来越卡了?别急,别急,让我来给你介绍一款神器——iWork10...
安卓手机装deepin系统,安... 你有没有想过给你的安卓手机换换口味呢?别再局限于那些千篇一律的操作系统了,今天就来给你揭秘如何让你的...
安卓系统不收钱吗,安卓系统免费... 你有没有想过,为什么安卓系统不用你掏腰包呢?是不是觉得它就像那免费的午餐,来者不拒,享用起来毫无负担...
8848系统是安卓的,安卓生态... 你知道吗?在手机操作系统的大千世界里,有一个特别的存在,那就是8848系统。它可不是什么小角色,而是...
安卓系统 木马删不掉,屡删不绝... 安卓系统被木马盯上的那些事儿在数字化时代,手机已经成为我们生活中不可或缺的一部分。而安卓系统,作为全...
ce系统安装安卓地图,探索智能... 最近是不是觉得手机上的地图导航有点不给力?别急,今天就来给你详细说说如何给CE系统安装安卓地图,让你...
安卓4.1系统无法升级,无法升... 你有没有遇到过这种情况?手机用了好几年,系统却怎么也升级不了?别急,今天就来聊聊这个让人头疼的安卓4...
kindle如何改安卓系统,如... 亲爱的读者们,你是否也有过这样的经历:手中的Kindle电子书阅读器突然间变得有些“不按套路出牌”,...
国内深度修改安卓系统,揭秘国内... 你知道吗?在我国,有一群技术大牛正在悄悄地搞事情呢!他们竟然对安卓系统进行了深度修改,让这个全球最流...
苹果还是安卓系统快,谁更胜一筹... 你有没有想过,手机里那个小小的操作系统,竟然能决定你的使用体验?今天,咱们就来聊聊这个热门话题:苹果...
安卓导航改苹果系统,无缝切换体... 你有没有想过,把安卓导航系统换成苹果系统,会是怎样的体验呢?想象你那熟悉的地图导航,突然间换了个“脸...
安卓导航如何进系统,系统生成与... 你有没有想过,你的安卓手机导航功能竟然可以深入到系统的核心呢?没错,今天就要来跟你聊聊这个神奇的话题...
电脑上面装安卓系统,全方位概述 你有没有想过,在你的电脑上装一个安卓系统?听起来是不是有点不可思议?但你知道吗,这可不是什么天方夜谭...
苹果刷安卓虚拟系统,刷机虚拟系... 你有没有想过,你的苹果手机竟然能装上安卓的虚拟系统?听起来是不是有点不可思议?别急,今天就来带你一探...
安卓 加密文件系统,安全存储与... 你知道吗?在安卓的世界里,有一个神秘的守护者,它就是安卓加密文件系统。今天,就让我带你一探究竟,揭开...
斑马系统怎么刷安卓,轻松实现系... 亲爱的读者,你是否曾想过给你的安卓设备来一次焕然一新的变身?没错,就是那种让你的手机瞬间变得与众不同...
怎样让安卓系统更新系统,轻松实... 亲爱的安卓用户们,你是否也和我一样,时不时地收到系统更新的提示,却总是犹豫不决,担心更新后手机会变慢...