消息队列有什么优点和缺点?【Java问答学堂】18期-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

消息队列有什么优点和缺点?【Java问答学堂】18期

2020-05-14 11:26:31 31263 1

消息队列有什么优缺点

优点上面已经说了,就是在特殊场景下有其对应的好处,解耦、异步、削峰。

缺点有以下几个:

  • 系统可用性降低

系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就好了,ABCD 四个系统还好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了咋整?MQ 一挂,整套系统崩溃,你不就完了?如何保证消息队列的高可用,可以点击这里查看。

  • 系统复杂度提高

硬生生加个 MQ 进来,你怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性?头大头大,问题一大堆,痛苦不已。

  • 一致性问题

A 系统处理完了直接返回成功了,人都以为你这个请求就成功了;但是问题是,要是 BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,咋整?你这数据就不一致了。

所以消息队列实际是一种非常复杂的架构,你引入它有很多好处,但是也得针对它带来的坏处做各种额外的技术方案和架构来规避掉,做好之后,你会发现,妈呀,系统复杂度提升了一个数量级,也许是复杂了 10 倍。但是关键时刻,用,还是得用的。

往期回顾:

【Java问答学堂】1期 为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?

【Java问答学堂】2期 如何保证消息队列的高可用?

【Java问答学堂】3期 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?

【Java问答学堂】4期 如何保证消息的可靠性传输?(如何处理消息丢失的问题?)

【Java问答学堂】5期 如何保证消息的顺序性?

【Java问答学堂】6期 如何解决消息队列的延时以及过期失效问题?

【Java问答学堂】7期 如果让你写一个消息队列,该如何进行架构设计?

【Java问答学堂】8期 es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?

【Java问答学堂】9期 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?

【Java问答学堂】10期 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?

【Java问答学堂】11期 es 生产集群的部署架构是什么?每个索引的数据量大概有多少?

【Java问答学堂】12期 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?

【Java问答学堂】13期 redis 和 memcached 有什么区别?

【Java问答学堂】14期 redis 都有哪些数据类型?分别在哪些场景下使用比较合适?

【Java问答学堂】15期redis 的过期策略都有哪些?内存淘汰机制都有哪些?

【Java问答学堂】16期如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍

为什么使用消息队列?【Java问答学堂】17期

取消 提交回答
全部回答(1)
相关问答

1

回答

Java虚拟机有哪些优点呢?

2022-03-30 17:47:50 144浏览量 回答数 1

1

回答

Java实现序列化有什么意义?

2021-10-26 17:39:08 326浏览量 回答数 1

1

回答

搭建Java Web开发环境出现异常

2021-02-20 11:03:06 286浏览量 回答数 1

1

回答

【Java问答学堂】6期 如何解决消息队列的延时以及过期失效问题?

2020-04-23 19:55:22 1811浏览量 回答数 1

1

回答

java实现消息队列的两种方式

2019-12-19 13:57:00 319浏览量 回答数 1

0

回答

Timeline 2.0模型现在是只能在Java环境里用吗?在Node.js里有没有相关实现?

2019-09-05 17:54:19 322浏览量 回答数 0

1

回答

java怎么写网站

2018-05-10 20:07:14 1462浏览量 回答数 1

2

回答

Java虚拟机的内存结构由哪些组成的?

2017-09-14 14:35:11 3140浏览量 回答数 2

2

回答

java中为什么以下三个map 不用map1 map2 map3 加以区分

2016-02-15 10:18:45 2732浏览量 回答数 2

3

回答

免费云主机不能配置java环境

2015-11-17 09:32:27 7616浏览量 回答数 3
+关注
15
文章
2804
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载