当前位置: 首页 > ai >正文

消息队列核心功能和消息队列做异步的优势

前言

消息队列是后端处理高并发流量最常用的手段,面试必问,是后端开最核心的中间件之一

下面我先简单介绍一下消息队列的核心功能、与异步线程相比消息队列做异步的核心优势是什么,为什么要使用消息队列

消息队列三大核心功能

消息队列核心解决的是通信问题,主要应用在耗时操作、流量波动、解耦的场景上

消息队列三大核心功能异步、解耦、削峰

异步是可以对内存资源瓶颈进行突破,异步将请求放入消息队列后立即释放线程加快响应速度

        异步是解决耗时操作场景

解耦是生产者和消费者解耦,本质上是空间换时间,通过把消息队列这个中间存储,生产者和消费者可以在合适的时间进行操作,实现了生产者和消费者在时间、空间和技术上的独立性

削峰是为了系统中同一时间出现大量请求,可以先累积到消息队列中,后面以缓慢的速度进行一个一个请求的消费

        削峰是解决流量波动场景

消息队列异步与异步线程相比的优势

1、MQ解耦能力强,可以实现对生产者和消费者进行隔离

2、线程挤压会造成内存资源消耗,MQ可以突破对内存资源进行突破

3、MQ可以应对突发大流量进行削峰,就是平稳的让这些请求进行慢慢消费,而异步线程会出现拒绝或者内存出现OOM

4、无法持久化请求数据,可能会造成丢失

5、异步线程的扩展性和容错率很低,MQ可以动态的扩容存储空间,使用死信队列等策略对特殊情况进行处理

常见的消息队列选型

RabbitMQ   

        轻量级消息队列,适合吞吐量不太高的项目使用

        功能丰富,轻主题,主题模式只是一个转发模式

        单机吞吐量在万级,常用于吞吐量要求不高的场景

        运维成本低

Kafka          

        全球消息处理性能最快的⼀款MQ,适合海量数据处理

        单体吞吐量可达百万级,常用于大数据领域

        运维成本高

RocketMQ   

        是阿里巴巴借鉴了 Kafka 的分区思想编写的一款消息队列

        不仅适合海量数据处理还提供了更丰富的功能使用

        单机吞吐量在十万级,常用于电商金融领域

        运维成本适中

http://www.xdnf.cn/news/17317.html

相关文章:

  • NX二次开发——面有关的函数
  • Datawhale AI夏令营学习
  • Kubernetes 集群密钥与机密管理方案对比分析:Vault、Sealed Secrets 与 AWS KMS
  • C++方向知识汇总(一)
  • 可泛化双手操作机器人基准测试:CVPR 2025 MEIS 研讨会 RoboTwin 双臂协作挑战赛
  • SwiftUI 登录页面键盘约束冲突与卡顿优化全攻略
  • 大语言模型提示工程与应用:提示工程-提升模型准确性与减少偏见的方法
  • node.js 零基础入门
  • mfc按钮点击事件没有触发,且程序卡死
  • VGMP状态机解析
  • 【GitHub小娱乐】GitHub个人主页ProFile美化
  • 交 换
  • 分享一个基于Spark的眼科疾病临床数据可视化分析与应用研究Hadoop基于Vue和Echarts的眼科疾病统计数据交互式可视化系统的设计与实现
  • HarvardX TinyML小笔记1(番外2:神经网络)
  • FreeRTOS学习笔记:任务通知和软件定时器
  • gRPC for C++ 实战全流程 —— 从零搭建到同步/异步服务
  • 第二十八天(cookiesessiontokeny验证)
  • LeetCode 分类刷题:209. 长度最小的子数组
  • 目标检测数据集 - 无人机检测数据集下载「包含COCO、YOLO两种格式」
  • 【工具变量】地级市固定资产投资数据(2000-2023年)
  • 开发手札:UnrealEngine和Unity3d坐标系问题
  • Kubelet 探针如何选择 IP:status.PodIP 溯源与“同 Pod 两个 IP“现象解析
  • Go 实用指南:如何执行 Skyline 查询(Pareto 最优点筛选)
  • PID学习笔记1
  • 基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
  • 【洛谷题单】--分支结构(三)
  • DigitalProductId解密算法php调试版piddebug.php
  • 七、《Serverless架构:按毫秒计费的成本革命》--从新浪AI推理平台50%效能提升看无服务器本质
  • vscode/trae 的 settings.json 中配置 latex 的一些记录
  • Android--监听软键盘弹出隐藏事件