美文网首页
Java 消息策略的实现 - Kafak 是怎么设计的

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

作者: HoneyMoose | 来源:发表于2023-09-20 03:49 被阅读0次

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

总结

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

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

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

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

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

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

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

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

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

缓存

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

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

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

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

面试回答

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

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

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

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

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

https://www.isharkfly.com/t/java-kafak/14999

相关文章

  • Kafka_核心

    kafka集群 Kafka的设计都是为了实现kafak消息队列消费数据的语义Kafka消息队列中数据消费的三种语义...

  • RocketMQ源码阅读

    RocketMQ 是一款开源的消息中间件,采用Java实现,设计思想来自于Kafka(Scala实现),在具体设计...

  • kafaka入门、让人容易误解的MQ

    前言 在学习kafak之前,觉得kafaka 是个处理日志的高性能消息队列,正式学习后发现有些不同。学习kafak...

  • 几种常用排序算法简单实现和分析

    写在之前 代码实现 Java 设计模式 策略模式 冒泡排序 似乎是这个世界上最简单的排序算法,很多Coder最初...

  • springcloudStream 理念分享

    消息驱动 解决的痛点 现有的MQ(消息中间件) ActiveMQ RabbitMQ RocketMQ Kafak ...

  • kafak 实现细节

    kafak中的名词 message(消息) 消息是kafka中最基本的数据单元。消息由一串字节构成,其中主要由ke...

  • Java设计模式——策略模式

    Java设计模式之策略模式 这期分享的模式是策略模式是程序设计中最常用的了,因为开发工作中总是会使用到策略模式。 ...

  • 策略模式

    参考资料:漫话:如何给女朋友解释什么是策略模式? 设计模式之策略模式(实例+Demo) Java设计模式(8)——...

  • Java 常用设计模式简例

    简述Java常用设计模式 简述Java常用设计模式及设计原则 strate---------策略模式针对接口编程,...

  • java实现设计模式--策略模式

    什么是策略模式? 我们平时遇到支付的时候,我们会考虑是用 支付宝,微信 ,还是云闪付去完成 支付 这个动作。如果你...

网友评论

      本文标题:Java 消息策略的实现 - Kafak 是怎么设计的

      本文链接:https://www.haomeiwen.com/subject/btpovdtx.html