码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • (十二)笔记MQ学习之优劣介绍


    ((十二)笔记MQ学习之优劣介绍

      • 一、MQ的优势
        • 1.应用解耦
        • 2.异步提速
        • 3.削峰填谷
    • 二、MQ的劣势
        • 1.系统可用性降低
        • 2.系统复杂度提高
        • 3.一致性问题
    • 三、MQ的使用条件
    • 四、常见的MQ产品

    一、MQ的优势

    1.应用解耦

    使用MQ使得应用解耦,提升容错性和可维护性,如下图,当用户下单时,如果其它几个系统出现异常,则直接导致订单失败,如果加入MQ订单系统只需把数据放入MQ中,后续其它系统直接从MQ中取就可以,即使后续系统报错,也和订单系统无关。
    在这里插入图片描述

    2.异步提速

    提升用户体验和系统吞吐量。使用MQ后,用户则只关心订单系统的处理所需的时间。
    在这里插入图片描述

    3.削峰填谷

    当我们短时间内有大量请求时,使用MQ可提高性能,假如每秒5000个请求进入MQ,那么我们的A系统则可以有条不紊的处理数据。如1000…2000…
    在这里插入图片描述
    使用了MQ之后,限制消费的速度为1000,这样依赖高峰期产生的数据必会被积压在MQ中高峰就被‘削掉’了,但因为消息积压,在高峰期过后的一段时间内,消费消息的速度还是会维持在1000,直到消费完积压的消息,这就叫做“填谷”。
    在这里插入图片描述

    二、MQ的劣势

    1.系统可用性降低

    系统引入的外部依赖越多,系统稳定性越差。一旦MQ宕机,就会对业务造成影响。

    2.系统复杂度提高

    MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过MQ异步调用,可能会出现消息被重复消费,消息丢失,消息的顺序错乱等。

    3.一致性问题

    假设我们有四个系统,A系统处理完业务,通过MQ给B、C、D三个系统发消息,如果B、C处理成功,D处理失败,则无法保证消息处理的一致性。

    三、MQ的使用条件

    1.生产者不需要从消费者处获得反馈,引入消息队列之前的直接调用,其接口的返回值应该为空,这才可以让明明下层的动作还没有做,上层却当成动作做完了继续往后走,即所谓异步。
    2.容许短暂的不一致性。
    3.确实是用了MQ有效果,即解耦、提速、削峰这些方面的收益,超过加入MQ,管理MQ的这些成本。

    四、常见的MQ产品

    目前业界有很多MQ产品,而这些消息队列产品各有侧重,在实际选择是需结合自身需求,综合考虑
    在这里插入图片描述

  • 相关阅读:
    一款.Net7前后端分离、跨平台的通用权限管理框架
    网络编程day04(网络属性函数、广播、组播、TCP并发)
    香港服务器,应该选用中国站 还是国际站?
    【每日一问】手机如何开启USB调试?
    35个Redis企业级性能优化点与解决方案
    CCF2022版最新目录已发布,最新变动情况分析
    java的JSR、JCP访问地址
    windows 2016 故障转移集群 副节点报错 群集网络名称资源“群集名称”注册一个或多个相关联的 DNS 名称失败
    风丘电动汽车热管理方案 为您的汽车研发保驾护航
    Centos7 |Canal Admin搭建Canal Server集群|
  • 原文地址:https://blog.csdn.net/liuwanying0226/article/details/128188134
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号