MQ主流比较

  • (1)使用消息队列的原因
    实际上,我想谈一谈使用消息队列和项目中特定场景的场景,在此场景中使用什么消息队列。
    面试官问这个问题。一个可能的答案是贵公司有什么商业场景?在这种商业场景中,哪些技术挑战?如果您不使用MQ,这可能会很成问题,但是使用MQ获得了很多好处。
    描述消息队列的典型使用方案。实际上,场景很多,但是有三个核心:去耦,异步和微调尖峰。
    解耦:一个绘制图像进行说明的站点,系统A将数据发送到三个BCD系统。您发送的接口呼叫在系统E中是否有此数据?
    如果现在不需要系统C怎么办?
    系统A是否需要再次发送第二个数据?
    系统A的负责人正处于崩溃的边缘。
    如果其他问题崩溃了,如果系统A挂起了,我们是否应该始终考虑使用四个BCDE系统?
    是否应该重新发行?
    您要保存新闻吗?
    头发是白色的。
    面试技巧:您应考虑系统中是否存在类似情况。调用多个系统或模块的系统或模块。相互调用很复杂且难以维护。
    但是,实际上,此调用不需要直接同步调用接口。如果使用MQ异步分离,那很好。您应该考虑是否可以使用此MQ来隔离项目中的系统。
    这在使用MQ作为解耦的简历中得到了反映。
    异步:将图像绘制到场景中进行说明,系统必须接收请求并在自己的前提下编写库,它必须将库写入三个BCD系统,一个3毫秒本地写入库,需要3个BCD系统编写300 ms,450 ms,200 ms库。
    最终请求的总延迟为3 + 300 + 450 + 200 = 953毫秒。这接近1。用户觉得他们需要做些事情并且花时间去死。
    峰值削减:从每天的0:00到11:00,系统A处于平静状态,每秒100个同时请求。
    结果,每秒的同时请求数在1到11:00之间跃升到10,000。
    但是,系统的最大处理能力每秒只能处理1000个请求。
    哦,系统会死的。
    (2)消息队列的优缺点是什么?
    好处如上所述,对于特殊方案,去耦,异步和削峰有好处。
    缺点是什么?
    明显的
    系统可用性降低。系统输入外部依赖关系的次数越多,挂起就越容易。最初,您是一个System A接口,它调用三个BCD系统。四个ABCD系统都可以,但是要加上MQ。
    MQ挂起,整个系统崩溃,但尚未完成。
    系统复杂性得到了改善。很难将MQ添加到输入中。如何防止重复使用邮件?
    如何处理信息丢失
    如何查看邮件的发送顺序?
    大头,大问题,痛苦。
    一致性问题:处理系统A后,直接返回成功。每个人都认为他们的请求成功了。但是问题是,如果那里有三个BCD系统,则两个BD系统将正常写入,而C系统将无法写入该库。
    数据不一致。
    因此,消息队列实际上是一个非常复杂的体系结构。实施它有很多优点,但是您需要创建各种其他技术解决方案和体系结构来避免这些缺点。妈妈,系统的复杂度是一个数量级,也许要复杂十倍。
    但是在关键时刻要使用,您仍然需要使用它。
    (3)kafka,activemq,rabbitmq,rocketmq的优缺点是什么?
    通用MQ实际上是这种类型,并且还有许多其他MQ,但是由于它们不那么流行所以不再赘述。
    作为代码农民,您至少需要了解MQ的一些优缺点。


发表时间:2019-10-27

相关文章

MQ主流比较
西班牙葡萄酒,DOC和DO有什么区别?
胶囊是增强肾脏功能的药物吗?有什么作用?
茅台的一张不知名的老照片:15年前的茅台生产车间,茅台武警茅台的武警派出所的警卫
千岁“无辜”
[如何摆脱口渴]
新的柑橘类水果;武术背后的隐秘商机使农民渴望
介绍静天社区
拼音不同
温允鸿已经开业!友情!好意思!最优雅的学习室,盘子,盘子。