面试官:Kafka是什么,它有什么特性与使用场景?
哈喽!大家好,我是小奇,一位热爱分享的程序员
小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧
文章持续更新
一、前言
不知不觉进入了五月份了,天气越来越炎热了,然而苦逼的我还要出门找工作,这朗朗乾坤难道就没有我奇谋人的容身之地吗?
背上我拉链拉不上的破书包,推开家里那破旧的木头门,走在我们人才村的小土道上,此时我陷入了沉思,我到底还要不要坚持,不行就跟村里的人一起出去打工好了,最起码不用加班啊。
不知不觉走到了村口,刘婶还像往常一样鸡贼的坐在村口东张西望,企图打听点什么消息。
刘婶:“小奇这是去哪里啊!还背着书包”。
我:“去镇上坐大巴车进京找工作”。
刘婶:“又去找工作啊,我没记错的话前两年你就在找工作吧”。
我:“没办法,一年比一年行情差”。
刘婶:“要我说你就别进京找工作了,在咱们人才村好好待着吧”。
我:“我不出去打工,那你养我啊”。
刘婶:“哎呀~~,你刘婶这么高贵,一般人可没有机会哟”。

刘婶:“但是要是小奇你的话,我肯定给你机会呀!”。
我:“算了吧刘婶,我这小体格子还是不冒险了。。。”。
刘婶:“哎呀小奇你想什么呢,我就想让你再给我讲几个八卦,这也不费力呀!”。
我:“等我过年回来了吧,到时候再给你讲”。
刘婶:“中,那说准了啊,刘婶跟你不见不散”。
(我特么保持微笑。。。)

坐上了进京的大巴车,车子缓缓开动,我的内心五味杂陈,这一去不知道几天才能找到工作,晚上不知道去哪里落脚呢。
车子越来越堵,我就知道快要到了,看着窗外慢慢从破旧平房转变成了高楼大厦,我不由得感慨,什么时候这里才能有我的一席之地啊。
二、面试
进了京我一刻也不敢停歇,马上找到要面试的公司准备面试,到了前台登记完毕,给hr打了一个电话,静静的等待着hr前来领我去面试。
一会儿一位颇有气质的大姐姐出来了,她一一席职业装,上身白衬衫虽然有些褶皱但是也遮不住她那丰腴的体态,下身的职业裙更显示出她的婀娜多姿。
大姐姐:“小奇是吧”。
我:“是我”。
大姐姐:“跟我来吧”。
她把我带到一个小姐姐身边跟她说来面试的,然后小姐姐给了我一份题让我先做。
我做完题交给了小姐姐,小姐姐就开始面试我了,我没想到竟然还有女开发,虽然小姐姐戴着口罩,但是通过她那清澈的眼眸以及娇小的身材,我能感受到这家公司需要我,我要留下来。。。(“逮虾户”)

小姐姐:“小奇是吧,带简历了吗?”
我:“带了,这是我的简历”。
小姐姐:“我看你写的精通kafka,真的吗?(小姐姐不可思议的瞪大了眼睛)”
我:“我时而精通时而了解,这得看面试官怎么样。。。”
小姐姐:“那你觉得我怎么样?”
我:“看我征不征服你就完了。。。”

三、Kafka是什么
小姐姐:“那你说一下kafka是什么吧”
我:“Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以支持分区,基于zookeeper协调的分布式消息系统,它相比其它消息队列中间件来说最大的特点就是可以实时的处理大量数据以满足各种需求场景”。
四、Kafka有哪些使用场景
小姐姐:“那你说一下kafka有哪些使用场景吧”
1、日志收集:
公司可以用kafka来收集公司系统的所有日志,然后通过kafka以统一接口服务的方式开发给其它数据处理中间件,例如hadoop等。
2、消息队列系统:
这个就跟其它的消息队列中间件类似了,就是解耦生产者和消费者,使用队列来缓存消息,达到削峰填谷的效果。
3、用户活动跟踪:
记得有一天刘婶牙疼呢,他就去网上搜牙疼是什么原因引起的,后来他就下地干活了,等晚上回来闲着没事打开了淘宝,发现全是给她推荐牙疼药的,刘婶说淘宝可真贴心呀,知道我正需要呢,先买上三盒药。
这里就是通过kafka来记录刘婶通过web网站搜索了什么,点击了什么,查看了什么,最后把这些活动收集到大数据分析平台,最终得出刘婶应该需要牙疼药。
4、运营指标:
kafka可以用来记录运营监控数据,比如一些警报或者报告。
五、Kafka有哪些特性
小姐姐:“那你说一下kafka有哪些角色组成吧”
1、Broker
消息中间件处理节点,一个Kafka节点就是一个broker,多个broker就可以组成一个kafka集群。
2、Topic
发布到kafka中的每一条消息都对应一个topic,kafka根据topic来对消息进行分类。
3、Producer
消息生产者,负责向Broker发送消息。
4、Consumer
消息消费者,从Broker读取消息。
5、ConsumerGroup
消费者组,消费者组里可以有多个消费者,一条消息可以被多个不同的消费者组消费,但是一个消费者组中只能有一个消费者消费到该消息。
可以理解为消费者组就是一个班级,消费者就是学生,然而学校可以为每个班级都发送一个三好学生奖状,但是每个班级里面只能有一个学生得到奖状。
6、Partition
一个topic可以分为多个partition,每个partition内部的消息都是有序的。

小姐姐:“那你说一下为什么要对topic下进行分区呢”
我:“本来一个topic就是一类消息,在数据量少的时候并不需要分区,但是kafka就是专门用来处理大量的数据的,所以如果数据过多的话那么在一台电脑上就存储不下,所以需要将topic分成多个partition,然后可以将不同的partition放入不同的电脑上”。
小姐姐:“小哥你还是真厉害啊”
我:“我更厉害的还在后面呢,等我入职了我慢慢给你展示。。。”
小姐姐:“行吧,我这里算过了,等我们项目经理来了我再问问他的意见吧”
我:“你不是项目经理啊,那你是hr吗,怎么会懂技术呢。。。”
小姐姐:“我也是开发”
我:“那你在这里工作几年了”
小姐姐:“今年是第三年”
我:“年轻真好,就是水灵。。。”
六、总结
这里关于Kafka还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
如果觉得我的文章还不错的话就点个赞吧
面试官:Kafka是什么,它有什么特性与使用场景?的更多相关文章
- 面试官: 说说看, 什么是 Hook (钩子) 线程以及应用场景?
文章首发自个人微信号: 小哈学Java 个人网站地址: https://www.exception.site/java-concurrency/java-concurrency-hook-thread ...
- 面试官:说说TCP和UDP的区别和应用场景
原创文章首发于公众号:「码农富哥」,欢迎收藏和关注,如转载请注明出处! 上一篇聊完 一文彻底搞懂 TCP三次握手.四次挥手过程及原理 这次聊聊TCP和UDP的区别和场景 TCP/IP 中有两个具有代表 ...
- 因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!
因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知! volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一.不要向小强那样,因为一句:volati ...
- 面试官:RabbitMQ怎么实现消费端限流
哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 RabbitMQ有很多高级特性, ...
- 大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?
本文首发于公众号:五分钟学大数据 在面试的时候,发现很多面试官特别爱问Kafka相关的问题,这也不难理解,谁让Kafka是大数据领域中消息队列的唯一王者,单机十万级别的吞吐量,毫秒级别的延迟,这种天生 ...
- 【对线面试官】Kafka基础入门
<对线面试官>系列目前已经连载33篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...
- 面试官的七种武器:Java篇
起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界 ...
- 面试官问我,Redis分布式锁如何续期?懵了。
前言 上一篇[面试官问我,使用Dubbo有没有遇到一些坑?我笑了.]之后,又有一位粉丝和我说在面试过程中被虐了.鉴于这位粉丝是之前肥朝的粉丝,而且周一又要开启新一轮的面试,为了回馈他长期以来的支持,所 ...
- 面试官问我,使用Dubbo有没有遇到一些坑?我笑了。
前言 17年的时候,因为一时冲动没把持住(当然最近也有粉丝叫我再冲动一把再更新一波),结合面试题写了一个系列的Dubbo源码解析.目前公众号大部分粉丝都是之前的粉丝,这里不过多介绍. 根据我的面试经验 ...
随机推荐
- 阿里低代码引擎 | LowCodeEngine - 如何配置并调用请求
首发于 语雀文档@blueju 前言 发送请求是前端中很重要也很常见的一部分,阿里低代码引擎自然也不会缺少这一块.在阿里低代码引擎中,请求是在数据源中配置,数据源位置如下图: 配置 配置界面如下图:其 ...
- k-medoids算法
k-medoids算法 对上面图形的解释 第一幅图:原来p属于Oj的(实线),当Orandom代替了Oj,p属于Oi了(虚线):第二幅图:原来p属于Oj的(实线),当Orandom代替了Oj,p属于O ...
- C++ | 简单工厂模式 | 复数计算器
简单工厂模式最直观的一个应用便是实现一个计算器的程序. 比如,公司让你给计算器添加一个幂运算的功能,你只需要设计一个幂运算的类,并实现幂运算的逻辑,然后让该类继承自运算类即可. 简单工厂模式: 简单工 ...
- 5_系统的可控性_Controllability
- CSS揭秘之《多重边框》
1.box-shadow还接受第四个参数(称作"扩张半径"), 通过指定正值或负值, 可以让投影面积加大或者减小2.如果我们想要一道实线边框其实也是可以通过box-shadow来模 ...
- [护网杯 2018]easy_tornado 1
复现一道关于tornado的题目 首先可以得知此题用的是tornado,基于python的后端框架,多半是ssti注入 有三个文件,首先可得知flag在何处 然后观察hint和url就知道要根据coo ...
- msmpeng.exe阻止移动硬盘弹出
MsMpEng.exe 占用 该进程是微软反恶意软件服务的一个可执行文件,用户无法手动停止该进程. 首先运行 eventvwr.msc打开事件查看器,找到警告信息,查看是什么进程在阻止硬盘弹出. ...
- Python Turtle库绘制表盘时钟
运行效果: 源代码: 1 # coding=utf-8 2 3 import turtle 4 from datetime import * 5 6 # 抬起画笔,向前运动一段距离放下 7 def S ...
- 使用html5绘图技术事项调用摄像头拍照;
在mui框架中调用手机摄像头进行拍照可以直接使用原声的HTML5: 以下是HTML代码 <video id="video" width="640" hei ...
- 2020西湖论剑一道web题[网盘]
题目: 一个网盘系统 图片: 解题手法 上传".htaccess"文件,改成可以执行lua脚本 内容为: SetHandler lua-script 编写lua脚本,而后进行get ...