谈谈我对于kafka的理解吧

所谓的kafka就是消息对列
那他有什么作用?
就是相当于在一个队列的数据后面追加一条
也可以把kafka理解成为一个不会轻易消失的List集合,只要有一条消息发送过来,就会在集合的后面追加一条数据
而每次向kafka里发送消息他是不用等待的,把任务给了他,不会影响程序的正常运行。就相当于你把任务给他后他回了一句,任务我收到了,我去慢慢执行,你不用等我了
而你要使用队列程序的时间,每次开启一个新的请求都会从第一条消息开始,慢慢的向后面取出,直到全部取出,而里面的消息也不会消失,下一次请求时依次执行

他的优点是什么,或者说我为什么要使用kafka?
因为kafka是有一个消息队列的功能,比如说我要发送验证码,或者往数据库里添加消息,那么前端发起请求之后,我把这个请求的数据转交给kafka,而监听这个消息的的那条程序,会慢慢的执行,慢慢的给用户发送验证码,依次的给用户发送验证码,或依次的向数据库当中添加数据。虽然数据还没有添加到数据库里,短信验证码也还没有发送给用户,但前端会收到成功的返回值。

但我目前所理解到的缺点是,程序不能中断,如果程序重新启用,则会重新的依次执行kafka里的东西,哪怕是之前执行过的东西也会被再次执行
#面试##面试题##牛客解忧铺##2022届毕业生现状##如何判断面试是否凉了#
全部评论
kafka 重启是不会重新读取消息的,强制断电会导致重复或者丢失罢了
点赞 回复 分享
发布于 2023-07-30 17:25 湖南

相关推荐

躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
评论
5
13
分享
牛客网
牛客企业服务