码农知识堂 - 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产品,而这些消息队列产品各有侧重,在实际选择是需结合自身需求,综合考虑
    在这里插入图片描述

  • 相关阅读:
    spring-cloud-dubbo基本使用
    程序员必知必会的TCP/IP,业内大佬给讲明白了
    目前最流行的 5 大 Vue 动画库,使用后太炫酷了
    07.微服务spring cloud alibaba nacos
    halcon脚本-机器学习【OCR】【附源码】
    (Matlab)基于蝙蝠算法实现电力系统经济调度
    【数据结构陈越版笔记】基础实验1-2.1:有序数组的插入
    诞生在 KFC 的《开源之迷》:作者如何在嘈杂而开放的环境中进行创作
    zfaka 虎皮椒微信+支付宝插件(内附说明)
    抛弃模板,一种Prompt Learning用于命名实体识别任务的新范式
  • 原文地址:https://blog.csdn.net/liuwanying0226/article/details/128188134
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号