mq 的缺点?
2024-09-08 07:24:18
(1)系统可用性降低
系统引入的外部依赖越多,越容易挂掉,本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一MQ 挂了咋整?MQ 挂了,整套系统崩溃了,你不就完了么。
(2)系统复杂性提高
硬生生加个 MQ 进来,你怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性?头大头大,问题一大堆,痛苦不已
(3)一致性问题
A 系统处理完了直接返回成功了,人都以为你这个请求就成功了;但是问题是,要是 BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,咋整?你这数据就不一致了。
所以消息队列实际是一种非常复杂的架构,你引入它有很多好处,但是也得针对它带来的坏处做各种额外的技术方案和架构来规避掉,最好之后,你会发现,妈呀,系统复杂度提升了一个数量级,也许是复杂了 10 倍。但是关键时刻,用,还是得用的。
最新文章
- 基于shell脚本比较数字大小
- samba服务器安装,共享nginx目录
- 深入理解DOM节点类型第四篇——文档片段节点DocumentFragment
- CTR预估评价指标介绍
- mac 解决eclipse OutOfMemoryError
- 【bzoj3674】 可持久化并查集加强版
- NoteExpress 自定义参考文献输出样式
- 161019、并发容器ConcurrentHashMap
- asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结
- word2003公式编辑器公式显示不完整问题
- asp生成静态HTML(动态读取)
- iOS_SN_沙盒文件操作及位置
- 如何在已经存在python2的linux环境上安装python3
- SQL中存储过程和自定义函数的区别(转载)
- 排序算法入门之插入排序(java实现)
- HBuilder真机联调、手机运行
- java_异常
- 2015-11-06 ajax
- 使用Dockerfile来构建镜像
- scoketio
热门文章
- python-通过configparser模块读取后缀为 .ini 的配置文件信息
- 在 CentOS 或 RHEL 系统上检查可用的安全更新的方法
- 【C# 异常处理】调试器 管理异常
- Oracle之关系型数据库
- syntax error: unexpected end of file完美解决方案
- IDEA 连接MySQL并使用
- 民间流转的pytest项目结构设计
- 『德不孤』Pytest框架 — 11、Pytest中Fixture装饰器(一)
- Git更新本地仓库及冲突";Commit your changes or stash them before you can merge";解决
- think php 修改页面