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

RabbitMQ的基本介绍

什么是MQ

本质是一个队列,只不过队列中存放的信息是message罢了,还是一种跨进程的通信机制,用于上下游传递信息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,信息发送上有只需要依赖MQ,不用依赖其他服务。

为什么要使用MQ

  • 流量消峰
  • 应用解耦
  • 异步处理

MQ的分类

  • ActiveMQ
    • 优点:单机吞吐量万级,时效性ms级,可用性高,基于主从架构高可用性,消息可靠性较低的概率丢失数据
    • 缺点:维护较少,高吞吐量场景较少使用
  • Kafka
    • 大数据中使用率高,百万级TPS的吞吐量
    • 优点:吞吐量高、分布式、时效性高、不会丢失数据、使用广泛
    • 缺点:消息失败不支持重试
  • RocketMQ
    • 优点:单机吞吐量高、0丢失、支持10亿级别的消息堆积
    • 缺点:支持客户端语言不多
  • Rabbit
    • 当前最主流的消息中间件之一
    • 优点:支持高并发、性能好、吞吐量高、跨平台、支持多种语言、社区活跃高…
    • 缺点:商业版需要收费,学习成本高

MQ的选择

  • Kafka:大数据、大型公司、日志采集
  • RocketMQ:金融互联网、稳定性上值得信赖、高并发
  • RabbitMQ:时效性微秒级、社区活跃度比较高、数据量没那么大

RabbitMQ

概念

是一个消息中间件:接收、存储和转发信息数据

  • 生产者:生产数据发送信息的程序是生产者
  • 交换机:

    在这里插入图片描述

  • 队列:

    在这里插入图片描述

  • 消费者:

    在这里插入图片描述

核心部分

  • 工作原理

    在这里插入图片描述

  • Broker:接收和分发信息的应用,RabbitMQ Server就是Message Broker

  • Virtual host:

    在这里插入图片描述

  • Connection:publisher/consumer和broker之间的TCP连接

  • Channel:

    在这里插入图片描述

  • Exchange:

    在这里插入图片描述

  • Queue:消息最终被送到这里consumer取走

  • Binding:

    在这里插入图片描述

http://www.lryc.cn/news/177408.html

相关文章:

  • AI智能视频监控技术如何助力美好乡村建设?
  • 【网络安全】2023年堡垒机品牌大全
  • makefile相关知识的讲解
  • OpenCV中的HoughLines函数和HoughLinesP函数到底有什么区别?
  • Xilinx FPGA 程序固化重新上电程序不运行的问题
  • c++ 使用rapidjson对数据序列化和反序列化(vs2109)
  • 4.迭代最近点ICP及非线性优化求解
  • 【redis总结】
  • 图数据库:释放关系的力量
  • Windows系统如何临时关闭“Windows安全中心实时保护”
  • 二叉树MFC实现
  • Nginx之客户并发数限制解读
  • 白捡一个存储型XSS
  • SpringMVC 学习(五)转发,重定向和传参
  • selenium不定位元素直接使用键盘操作(如弹框操作)
  • Inno Setup安装中文语言
  • 【数据库——MySQL】(10)视图和索引
  • No servers available for service: renren…。 Gateway 网关报503错误 ,已解决
  • 【Spring Cloud】深入理解 Eureka 注册中心的原理、服务的注册与发现
  • 添加路径到头文件默认搜索路径
  • 掌动智能:替代JMeter的压力测试工具有哪些
  • Casper Network 构建企业级区块链生态的野望
  • TiDB 7.1.0 LTS 特性解读丨关于资源管控 (Resource Control) 应该知道的 6 件事
  • Django Web开发入门基础
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#)
  • LetCode算法题---第2天
  • Leetcode.2571 将整数减少到零需要的最少操作数
  • 微前端无界 项目使用记录
  • CDH 6.3.2升级Flink到1.17.1版本
  • 基于谷歌Transeformer构建人工智能问答系统