码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 何为消息队列?它的特点是什么?


    什么是消息队列

    消息队列(Message Queue)简称MQ
    “消息队列”是在消息的传输过程中保存消息的容器。

    消息队列是采用"异步(两个微服务项目并不需要同时完成请求)"的方式来传递数据完成业务操作流程的业务处理方式

    消息队列的特征

    在微服务架构中,一个服务(消费者)需要远程调用一个服务(生产者)来执行业务,如果:消费者A调用生产者B之后,A的线程会进入阻塞状态,等待生产者B运行结束返回之后,A才能运行之后的代码
    在这里插入图片描述

    常见面试题:消息队列的特征(作用)

    • 利用异步的特性,提高服务器的运行效率,减少因为远程调用出现的线程等待\阻塞
    • 削峰填谷:在并发峰值超过当前系统处理能力时,我们将没处理的信息保存在消息队列中,在后面出现的较闲的时间中去处理,直到所有数据依次处理完成,能够防止在并发峰值时短时间大量请求而导致的系统不稳定
    • 消息队列的延时:因为是异步执行,请求的发起者并不知道消息何时能处理完,如果业务不能接受这种延迟,就不要使用消息队列
      削峰填谷图例:
      在这里插入图片描述

    常见消息队列软件

    • Kafka:性能好\功能弱:适合大数据量,高并发的情况,大数据领域使用较多
    • RabbitMQ:功能强\性能一般:适合发送业务需求复杂的消息队列,java业务中使用较多
    • RocketMQ:阿里的
    • ActiveMQ:前几年流行的,老项目可能用到

    消息队列可以解决远程调用的性能问题

    Dubbo:微服务中远程过程调用

    Dubbo调用普遍存在于我们的微服务项目中

    这些Dubbo调用全部是同步的操作

    这里的"同步"指:消费者A调用生产者B之后,A的线程会进入阻塞状态,等待生产者B运行结束返回之后,A才能运行之后的代码

    在这里插入图片描述

    Dubbo消费者发送调用后进入阻塞状态,这个状态表示该线程仍占用内存资源,但是什么动作都不做

    如果生产者运行耗时较久,消费者就一直等待,如果消费者利用这个时间,那么可以处理更多请求,业务整体效率会提升

    实际情况下,Dubbo有些必要的返回值必须等待,但是不必要等待的服务返回值,我们可以不等待去做别的事情

    这种情况下我们就要使用消息队列

  • 相关阅读:
    力扣解法汇总1175-质数排列
    Rasa NLU中的组件
    Ubuntu24多版本python解释器使用
    cocoa-NSArrayController
    史上最全面试题版!看完吊打面试官!七夕来袭!是时候展现专属于程序员的浪漫了 10万字+
    从源码分析 MySQL 身份验证插件的实现细节
    使用.NET查询日出日落时间
    Kafka 面试套路居然这样多!读完大神的 Kafka 核心手册,秒杀面试官!全网最强!!
    网友心得—运行jeecgboot-vue3项目可能出现的问题
    基于不同监督强度分类的语义分割综述:A Breif Survey on Semantic Segmentation with Deep Learning
  • 原文地址:https://blog.csdn.net/BLWY_1124/article/details/126753929
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号