[kafka] 基础知识

[复制链接]
发表于 2024-12-1 14:21:08 | 显示全部楼层 |阅读模式
Kafka基本原理详解(超详细!)_kafka工作原理-CSDN博客
Kafka

Kafka背景:Linkedin自己开发的,后面丢给apache开源了
关键词:


  • 分布式
  • 分区存储
  • 多服务
  • 消息
  • 消耗者模型
为什么需要做Kafka:可以看看链接博客,里面套娃了别的一个博客,说到一个快递员以及一个收件员的故事,蛮故意思的。
关键词三个:解耦,异步,削峰
而这三个关键词终极指向了还是中间这个词,异步
由于异步,对于快递员来说,是解耦的,不需要详细等待收件人的时间,直接丢了就走,再送下一个快递。
由于异步,对于收件人来说,假如瞬时有大量的快递送达,也不需要一下次全部去拿,只要按照自己的步伐慢慢处置惩罚就可以。也就是削峰
而异步也是在通讯本领里面老生常谈的通讯本领。主要特点有速率快,团体性能高等,但也需要开发缓冲区以及需要办理信息传递失效题目。
而Kafka感觉只是在背靠大数据的背景下,大量用户产生各种各样的信息需要传递,以是弄了一个分布式架构消息传递的中台总体进行管理。
详细应用场景:
假设说现在需要做一个词频分析,所有用户的搜索状态,做一个热搜,那么起首第一步就是需要获取全部的用户信息。第二部就是需要有一个接收信息而且词分的一个模块进行处置惩罚。假如不用Kafka,可能这个词分模块很快就爆了。以是就需要一个中台(可以理解为一个buffer的作用)进行统一的管理,当然这个buffer功能格式更多,由于团体体系可能不止一个这种消息需要大量传递,可能有非常非常多的数据需要交互,以是就需要Kafka作为中控作为一个统一的buffer
常用的通讯模式一样平常就两种:一对一大概广播
消息也是这样,要么就发给一个人要么就发个一群人
然后再套用一下消耗者生产者模型基本就出来了,以是本质上Kafka可以认为是消耗者生产者模型中间哪一个buffer就好了,只是这个buffer比较复杂而已,而且他还需要办理一群消耗者的题目。
既然是buffer为什么需要用分布式,前面说到了团体体系会有非常多乱七八糟的东西,只要需要的东西就可以认为是一个消息,那么东西可能特别多,以是用上了分布式存储以及分布式处置惩罚。
分布式也是特别特别复杂的一个东西,这里我还没研究过。
Kafka的分布式当时是直接用了zookeeper去维护的,现在自己有了新的框架KRaft。
Kafka架构


生产者比较简朴。
最主要是如何将东西丢给消耗者。
可以看到最主要的就是引入了Leader这么一个角色,leader直接跟producer进行交互,接受信息。接受完毕之后直接存储到当地的文件。
其他follower直接找leader去要这个消息就可以了。
这么一做可以很直观看到,对于接收方来说,就已经实现了异步这个本领,leader就相当一个“菜鸟裹裹”。有快递就去拿就行。
但是,producer与leader直接的异步还是没有办理,Kafka是给出了三个方案,分别有不同时机给出ACK

  • producer不管ACK,消息发完就可以了
  • leader自己接受到了就发ACK
  • 所有follower接收了才发ACK
三种优劣都懂自己选就可以
消息架构搞定了,但是另有一个题目,既然需要作为中控的角色,需要跟不同的消息打交道该怎么办。
Kafka用topic针对不同的消息进行区分,当然感觉可以理解为一个用户组就好。
一个Kafka可以有好几个partition,这个partition就是用来决定刚才那个leader信息到底存在那个呆板上,一样平常也是一个呆板对应一个partition
别的的名词就是:


  • broker:一台呆板上运行的一个Kafka实例
  • consumer group:一个consumer group内部成员只有一个能够消耗同一个topic同一个partition的消息,消耗了就没了
其他题目我觉得不是太紧张我就不想研究了:

  • leader完蛋了怎么办,替换规则是什么
  • 分布式存储怎么做的?partition详细怎么存文档的,如何进行检索的

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-12 23:32 , Processed in 0.251117 second(s), 32 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表