哈喽!大家好,我是小奇,一位热爱分享的程序员

小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧

文章持续更新

一、前言

不知不觉进入了五月份了,天气越来越炎热了,然而苦逼的我还要出门找工作,这朗朗乾坤难道就没有我奇谋人的容身之地吗?

背上我拉链拉不上的破书包,推开家里那破旧的木头门,走在我们人才村的小土道上,此时我陷入了沉思,我到底还要不要坚持,不行就跟村里的人一起出去打工好了,最起码不用加班啊。

不知不觉走到了村口,刘婶还像往常一样鸡贼的坐在村口东张西望,企图打听点什么消息。

刘婶:“小奇这是去哪里啊!还背着书包”。

我:“去镇上坐大巴车进京找工作”。

刘婶:“又去找工作啊,我没记错的话前两年你就在找工作吧”。

我:“没办法,一年比一年行情差”。

刘婶:“要我说你就别进京找工作了,在咱们人才村好好待着吧”。

我:“我不出去打工,那你养我啊”。

刘婶:“哎呀~~,你刘婶这么高贵,一般人可没有机会哟”。

刘婶:“但是要是小奇你的话,我肯定给你机会呀!”。

我:“算了吧刘婶,我这小体格子还是不冒险了。。。”。

刘婶:“哎呀小奇你想什么呢,我就想让你再给我讲几个八卦,这也不费力呀!”。

我:“等我过年回来了吧,到时候再给你讲”。

刘婶:“中,那说准了啊,刘婶跟你不见不散”。

(我特么保持微笑。。。)

坐上了进京的大巴车,车子缓缓开动,我的内心五味杂陈,这一去不知道几天才能找到工作,晚上不知道去哪里落脚呢。

车子越来越堵,我就知道快要到了,看着窗外慢慢从破旧平房转变成了高楼大厦,我不由得感慨,什么时候这里才能有我的一席之地啊。

二、面试

进了京我一刻也不敢停歇,马上找到要面试的公司准备面试,到了前台登记完毕,给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是什么,它有什么特性与使用场景?的更多相关文章

  1. 面试官: 说说看, 什么是 Hook (钩子) 线程以及应用场景?

    文章首发自个人微信号: 小哈学Java 个人网站地址: https://www.exception.site/java-concurrency/java-concurrency-hook-thread ...

  2. 面试官:说说TCP和UDP的区别和应用场景

    原创文章首发于公众号:「码农富哥」,欢迎收藏和关注,如转载请注明出处! 上一篇聊完 一文彻底搞懂 TCP三次握手.四次挥手过程及原理 这次聊聊TCP和UDP的区别和场景 TCP/IP 中有两个具有代表 ...

  3. 因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!

    因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知! volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一.不要向小强那样,因为一句:volati ...

  4. 面试官:RabbitMQ怎么实现消费端限流

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 RabbitMQ有很多高级特性, ...

  5. 大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?

    本文首发于公众号:五分钟学大数据 在面试的时候,发现很多面试官特别爱问Kafka相关的问题,这也不难理解,谁让Kafka是大数据领域中消息队列的唯一王者,单机十万级别的吞吐量,毫秒级别的延迟,这种天生 ...

  6. 【对线面试官】Kafka基础入门

    <对线面试官>系列目前已经连载33篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...

  7. 面试官的七种武器:Java篇

    起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界 ...

  8. 面试官问我,Redis分布式锁如何续期?懵了。

    前言 上一篇[面试官问我,使用Dubbo有没有遇到一些坑?我笑了.]之后,又有一位粉丝和我说在面试过程中被虐了.鉴于这位粉丝是之前肥朝的粉丝,而且周一又要开启新一轮的面试,为了回馈他长期以来的支持,所 ...

  9. 面试官问我,使用Dubbo有没有遇到一些坑?我笑了。

    前言 17年的时候,因为一时冲动没把持住(当然最近也有粉丝叫我再冲动一把再更新一波),结合面试题写了一个系列的Dubbo源码解析.目前公众号大部分粉丝都是之前的粉丝,这里不过多介绍. 根据我的面试经验 ...

随机推荐

  1. 转载:C++快速排序

    快速排序的基本实现 转载至:https://www.cnblogs.com/miracleswgm/p/9199124.html 快速排序算法是一种基于交换的高效的排序算法,它采用了分治法的思想: 1 ...

  2. 什么是HTML 5?

    HTML 5是HTML的新标准,其主要目标是无需任何额外的插件如Flash.Silverlight等,就可以传输所有内容.它囊括了动画.视频.丰富的图形用户界面等. HTML5是由万维网联盟(W3C) ...

  3. 详解BI系统中的任务调度

    任务调度是一个通用的计算机概念,可以简单地理解为计算机基于一定时间频率,自动执行一项进程任务.任务调度是操作系统的重要组成部分,Windows系统中的定时任务和Linux的Crontab都是常用的系统 ...

  4. 如何解决Ubuntu下的“E: Unable to correct problems, you have held broken packages.”的问题. aptitude

    今天安装build-essential时出现了以下问题,这属于包的依赖. 解决方案: 1,sudo apt-get install aptitude:完成aptitude命令安装 2,sudo apt ...

  5. angular组件开发

    项目中经常会有一些公共组件,比如header,如果每个页面都写一遍的话显得很冗余,而且不利于维护,这时候我们就会考虑将这些公共部分抽取出来,做成一个单独的组件. 然而angular不是很熟悉啊~怎么啵 ...

  6. ubantu之Git使用

    本文讲述在Ubuntu 14.04 x64环境下,如何安装Git,配置连接GitHub,并且上传本地代码到github. 一. 注册Git账户以及创建仓库 要想使用github第一步当然是注册gith ...

  7. CCF201604-2俄罗斯方块

    问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏. 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块.每一轮,都会有一个新的由4个小方 ...

  8. Android去掉标题头

    在AndroidManifest.xml文件中定义 <application android:theme="@android:style/Theme.NoTitleBar"& ...

  9. pytest-mark 参数化

    在类前或用例前用pytest.mark.parametrize ,可进行参数化 传参方式比较灵活,有很多种,下面是列出的几种方式,其他的可自行研究 @pytest.mark.parametrize(& ...

  10. ELK日志保留7天-索引生命周期策略

    一.简介 ELK日志我们一般都是按天存储,例如索引名为"kafkalog-2022-04-05",因为日志量所占的存储是非常大的,我们不能一直保存,而是要定期清理旧的,这里就以保留 ...