RabbitMQ的优势和劣势
文章目录
- 1.1 RabbitMQ的优势
- 1.2 MQ的劣势
1.1 RabbitMQ的优势
1、应用解耦
MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。
系统的耦合性越高,容错性就越低,可维护性就越低。
使用 MQ 使得应用间解耦,提升容错性和可维护性。
2、任务异步处理
将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。
一个下单操作耗时:20 + 300 + 300 + 300 = 920ms
用户点击完下单按钮后,需要等待920ms才能得到下单响应,太慢!
用户点击完下单按钮后,只需等待25ms就能得到下单响应 (20 + 5 = 25ms)。
提升用户体验和系统吞吐量(单位时间内处理请求的数目)。
3、削峰填谷
如订单系统,在下单的时候就会往数据库写数据。但是数据库只能支撑每秒1000左右的并发写入,并发量再高就容易宕机。低峰期的时候并发也就100多个,但是在高峰期时候,并发量会突然激增到5000以 上,这个时候数据库肯定卡死了。
消息被MQ保存起来了,然后系统就可以按照自己的消费能力来消费,比如每秒1000个消息,这样慢慢 写入数据库,这样就不会卡死数据库了。
但是使用了MQ之后,限制消费消息的速度为1000,但是这样一来,高峰期产生的数据势必会被积压在 MQ中,高峰就被“削”掉了。但是因为消息积压,在高峰期过后的一段时间内,消费消息的速度还是会 维持在1000QPS,直到消费完积压的消息,这就叫做“填谷”
1.2 MQ的劣势
系统可用性降低
系统引入的外部依赖越多,系统稳定性越差。一旦 MQ 宕机,就会对业务造成影响。如何保证MQ的高 可用?
系统复杂度提高
MQ 的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过 MQ 进行异步调用。 如何保证消息没有被重复消费?怎么处理消息丢失情况?那么保证消息传递的顺序性?
一致性问题
A 系统处理完业务,通过 MQ 给B、C、D三个系统发消息,如果 B 系统、C 系统处理成功,D 系统处理 失败。如何保证消息数据处理的一致性?
RabbitMQ的优势和劣势相关推荐
- python编程语言能干什么-python编程语言的优势与劣势--python能干啥
首先先发表小编的观点吧嘿嘿:python并不适合作为第一编程语言,但是第二编程语言的首选 (哥哥们先别喷我,且听我慢慢说来~~~) 先解释一下啥是第一第二编程语言吧: 通常从事开发的程序员都会学不止一 ...
- RDB 文件的优势和劣势
一.优势 1.RDB 是一个非常紧凑(compact)的文件,它保存了redis 在某个时间点上的数据集.这种文件非常适合用于进行备份和灾难恢复. 2.生成RDB 文件的时候,redis 主进程会fo ...
- Mono for Android 优势与劣势
Mono for Android 优势与劣势 最近有兴趣了解一下Mono for Andriod,也就是使用.NET平台来开发Andriod程序.Mono for Android API 几乎映射标准 ...
- 计算机考研408的优势和劣势,21考研:杭州电子科技大学计算机改考408!透露2个信号,咋整?...
原标题:21考研:杭州电子科技大学计算机改考408!透露2个信号,咋整? 小伙伴们,浙江计算机考研的大事件来了! 杭州电子科技大学计算机学院发布公告,2021考研所有专业的初试科目改考计算机408! ...
- HTML5开发APP有哪些优点和缺点?HTML5优势和劣势大对比
HMTL5开发APP有哪些优点和缺点?对比起来看,HTML5开发APP的优势明显大于劣势.比如HTML5有跨平台,开发成本低,推广更容易等等优点,同时它也有着一些缺点,比如容易受到网络的限制,用户体验 ...
- JSP的优势与劣势浅析
本文简单介绍了JSP技术,并对JSP的优势与劣势进行了简单的分析.JSP页面由HTML代码和嵌入其中的Java代码所组成. JSP(JavaServer Pages)是由Sun Microsystem ...
- 使用框架开发的优势和劣势
http://www.gbin1.com/technology/jquery/prosconsframeworks/有些时候可能大家都会问自己,如果有新的方式缩短工作时间为什么还需要每天做重复的事情呢 ...
- SEO优化基础:SEO的优势与劣势
今天我们讲一下SEO的优势与劣势,内容不同于你可以搜索到的文章. 我会详细说明一下:为什么有些行业想要站稳头部位置,必须争取SEO流量;为什么我认为SEO非常适合自由职业. 先带大家复习一下常见的观点 ...
- 校园跑腿的优势和劣势
校园跑腿的盈利模式 交易型的盈利模式 校园跑腿大的盈利模式是用户订单基本的交易费用.还有交易佣金和跑腿存款,这也是一笔很大的收入,一旦这笔资金稳定下来,它将是一笔巨大的收入. 2.申请创业基金 目前, ...
- #POW和POS的优势和劣势
POW和POS的优势和劣势 在区块链公链之中,有两种的共识机制的挖矿机制,POW(工作量证明),POS(权益类证明) 接下来,我们一起来讨论他们的优劣. pow 话不多说,直接上正题 POW(工作量证 ...
最新文章
- 2019智能手表推荐_智能手表一定越贵越好?试用过后这五款才真正值得推荐
- PTA数据结构与算法题目集(中文)7-45
- golang 协程 通道channel阻塞
- 世界卫生日:大数据解读抑郁症群体
- 在CodeBlocks下配置GoogleTest单元测试框架
- python opencv2_Python + OpenCV2 系列:2 - 图片操作
- python手动安装包_python pip如何手动安装二进制包
- Tcl学习之--表达式
- python 将数据写入excel
- 揭秘 Python 火爆背后的真实现状,2020 Python 开发者调查
- 【黑苹果教程】修复OS X 10.11+上HD4200/HD4400/HD4600/HD5600驱动
- 计算所与北大往事回顾
- Camtasia怎么添加文字效果
- jquery消息插件 toastr 消息提示插件 弹框提示
- 一级计算机考试比分,人工智能期末考试模拟试题一01
- 清华团队夺冠清华-新南威尔士中澳数据科学大赛!跨学科交叉人才走出国门
- 华为招聘状态码RSA解密方法
- 学美容化妆培训学校到哪里最好
- 电脑系统重装篇1:Windows 10各版本介绍
- [css] 抖动效果
热门文章
- 27岁学前端开发,3年前端开发工资待遇
- Android network框架分析之NetworkManagementService和netd交互深入分析(一)
- Cocos Creator + TiledMap制作瓦片地图部分经验总结
- 一个中国码农在硅谷求职的实用经历
- Mybatis事务管理机制<transactionManager>
- excel批量删除所有空白行
- INSERT INTO SELECT FROM 的用法
- android 投屏与控制,android投屏pc及电脑adb控制手机
- ROS中NodeHandle nh与NodeHandle nh(“~“)区别
- html字间距怎么缩小,word字间距怎么缩小