Java 消息策略的实现 - Kafak 是怎么设计的

2023-09-21 03:47:42

这个也是开放讨论题,主要讨论下 Kafka 在消息中是如何进行实现的。

1_cCyPNzf95ygMFUgsrleHtw

1_cCyPNzf95ygMFUgsrleHtw976×506 21.4 KB

总结

这个题目的开发性太强了。

Kafka 可以用的地方非常多,我经历过的项目有 Kafka 用在消息处理策略上的。这个主要是 IoT 项目,因为这个项目需要对温度传感器采集获得数据。

当我们有多个数据采集点的时候,通常是在每分钟发送几条数据的样子。

哪怕是这种使用场景,我觉得从系统架构的考虑来说还是过于臃肿了,因为 Kafka 的运行需要 ZooKeeper,一套 ZooKeeper 的运行至少是需要 3 台服务器。

正常的生产环境部署,我们可能要部署到 5 太服务器上。

对于一个每秒钟消息都不到 1 条的消息服务器来说,实在是太重了。

其实这种使用场景,我们可以用一些轻量的消息服务器,比如说 ActiveMQ,我就觉得非常好。

可以简单到使用一个 Docker 容器就可以完成了,但消息处理能力也还是强大的。

对于 Kafka 这种野兽级的消息处理服务器,实在是用不上。

缓存

我们还经历过一个项目,Kafka 被用作缓存了。

每次项目启动的时候,都需要从 Kafka 上获得缓存数据,然后系统才能运行。

这个也是非常痛苦的,有时候因为缓存机制的使用不确定,导致部分时候的数据缓存上没有。

然后在调试的过程中就非常的痛苦。

面试回答

根据上面的情况,对这开放性的问题,通常只需要说说你对问题的了解情况就好了。

一般来说还是不会要求你做到具体的实现的,只要你对消息服务器有一些相关的知识,上面的 2 个使用案例还是比较经典的。

其实消息服务器还有很多可以使用的场景,比如说数据解耦,对爬虫数据的数据解耦等等,都是可以用的。

很多公司还会做一个消息服务器,比如说对订阅用户的消息回复,手机消息推送等等,都需要我们的消息服务器去处理。

所以这个问题为设计型问题,只需要对相关问题有所了解即可。

Java 消息策略的实现 - Kafak 是怎么设计的 - 求职路上 - iSharkFly

更多推荐

PHP 做 Mysql 数据统计,通过时间戳 统计 每分钟多少条 每十分钟多少条?

如果mysql表中数据结构时间字段是按时间戳存的,PHP如何按每分钟有多少条来统计数据<?php//连接MySQL数据库$servername="localhost";$username="your_username";$password="your_password";$dbname="your_database";

利用NHANES数据库还能构建预测模型? 中国学者写了篇文章,AUC=0.842

Nhanes美国营养调查数据库的培训课程(直播回放)来了!“Nhanes数据挖掘”课程(直播回放)!欢迎报名,发表文章即退款2021年2月,广东省医学科学院、广东省人民医院、广东省心血管研究所心内科,广东省冠心病防治重点实验室的学者在《AnnalsofPalliativeMedicine》(四区)发表题为:Deriva

基于Python+Tkinter实现一个贪食蛇小游戏

你是否还记得那个时代,当我们的手机还没有触摸屏,游戏也只有像“贪食蛇”这样的经典款?当时,许多人都沉迷于控制一条小蛇吃食物的乐趣中。而今,让我们利用Python和Tkinter,一起重温那个时代,制作自己的贪食蛇小游戏!1.初始设定在开始之前,我们需要对游戏进行基本的设定。例如,我们的游戏界面是一个宽600像素、高40

【RocketMQ专题】快速实战及集群架构原理详解

目录课程内容一、MQ简介基本介绍*作用(解决什么问题)二、RocketMQ产品特点2.1RocketMQ介绍2.2RocketMQ特点2.3RocketMQ的运行架构2.4消息模型三、RocketMQ快速实战3.1快速搭建RocketMQ服务3.2快速实现消息收发3.3搭建Maven客户端项目3.4搭建RocketMQ

计算机专业毕业设计项目推荐07-科研成果管理系统(JavaSpringBoot+Vue+Mysql)

科研成果管理系统(JavaSpringBoot+Vue+Mysql)**介绍****系统总体开发情况-功能模块****各部分模块实现****最后想说的****联系方式**介绍本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以

浅谈终端安全接入

前言:随着网络的发展,现代企业大多都会部署企业的有线网络与无线网络,在传统的企业网内,随着越来越多的终端设备接入到公司网络,管理人员控制和审计外部用户接入的企业办公网的难度和工作量也越来越大。而如果允许外部用户随意使用企业网络,则可能在管理人员和系统维护人员毫不知情的情况下,某些恶意用户侵入企业办公网络,从而造成数据泄

瑞芯微 RV1126 芯片的完整启动流程

瑞芯微RV1126启动流程瑞芯微RV1126芯片的启动流程,包括MiniLoaderAll.bin、U-Boot、内核(Kernel)和根文件系统(RootFileSystem)的加载和执行过程。1.上电复位当设备上电或复位时,RV1126芯片进入初始状态。2.BootROM运行BootROM是硬件逻辑中的引导程序,它

本地Docker Registry远程连接,为你带来高效便捷的镜像管理体验!

Linux本地DockerRegistry本地镜像仓库远程连接文章目录Linux本地DockerRegistry本地镜像仓库远程连接1.部署DockerRegistry2.本地测试推送镜像3.Linux安装cpolar4.配置DockerRegistry公网访问地址5.公网远程推送DockerRegistry6.固定D

CESM地球系统模式教程

详情点击公众号技术科研吧链接:CESM地球系统模式教程前言目前通用地球系统模式(CommunityEarthSystemModel,CESM)在研究地球的过去、现在和未来的气候状况中具有越来越普遍的应用。CESM由美国NCAR于2010年07月推出以来,一直受到气候学界的密切关注。近年升级的CESM2.0在大气、陆地、

ElasticSearch系列-简介与安装详解

全文检索讲ElasticSearch之前,需要先提一下全文检索.全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。索引:建立索引文本---->切分--->词文章出现过出现多少次检索:查询关键词---

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(三)

目录前言总体设计系统整体结构图系统流程图运行环境模块实现1.模型训练1)数据集分析2)数据预处理3)模型创建(1)定义参数(2)定义网络数据输入占位符(3)定义用户嵌入矩阵(4)定义电影嵌入矩阵(5)定义电影类型嵌入矩阵(6)处理电影名称(7)全连接层(8)定义计算图相关其它博客工程源代码下载其它资料下载前言本项目专注

热文推荐