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

RabbitMQ简介

RabbitMQ简介

  • 1、RabbitMQ简介
    • 1.1、简介
    • 1.2、相关网址
    • 1.3、消息中间件(MQ=Message Queue)
    • 1.4、常用的消息中间件
  • 2、MQ(Message Queue)的应用场景
    • 2.1、异步处理
    • 2.2、系统解耦
    • 2.3、流量削峰
    • 2.4、日志处理

1、RabbitMQ简介

1.1、简介

RabbitMQ是一个广泛使用的消息服务器,采用Erlang语言编写,是一种开源的实现 AMQP(高级消息队列协议)的消息中间件;
RabbitMQ最初起源于金融系统,它的性能及稳定性都非常出色;
AMQP协议(http://www.amqp.org),即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计;
我们学的协议有哪些:(http、ftp)

1.2、相关网址

RabbitMQ官网:https://www.rabbitmq.com
Github:https://github.com/rabbitmq

1.3、消息中间件(MQ=Message Queue)

简单来说,消息中间件就是指保存数据的一个容器(服务器),可以用于两个系统之间的数据传递。
消息中间件一般有三个主要角色:生产者、消费者、消息代理(消息队列、消息服务器);
在这里插入图片描述
生产者发送消息到消息服务器,然后消费者从消息代理(消息队列)中获取数据并进行处理;

1.4、常用的消息中间件

目前比较主流的几个消息中间件:

  • RabbitMQ
  • kafka(大数据领域)
  • RocketMQ(阿里巴巴开源)献给Apache组织
  • pulsar(最近一两年流行起来的)

2、MQ(Message Queue)的应用场景

2.1、异步处理

下订单:下订单–》加积分–》发红包–》发手机短信
下订单—向MQ 发消息–》积分系统,红包系统,手机短信系统接收消息
在这里插入图片描述
同步是阻塞的(会造成等待),异步是非阻塞的(不会等待);
大流量高并发请求、批量数据传递,就可以采用异步处理,提升系统吞吐量;

2.2、系统解耦

多个系统之间,不需要直接交互,通过消息进行业务流转;
在这里插入图片描述

2.3、流量削峰

高负载请求/任务的缓冲处理;
在这里插入图片描述

2.4、日志处理

主要是用kafka这个服务器来做;
日志处理是指将消息队列用于在日志处理中,比如Kafka解决大量日志传输的问题;
loger.info(…)
ELK 日志处理解决方案:
loger.error(…) -->logstash收集消息–> 发送消息的kafka --> elastic search (es) -->Kibana ELK日志处理平台


http://www.kler.cn/a/318822.html

相关文章:

  • 移动端【01】面试系统的MVVM重构实践
  • 重构代码之内联临时变量
  • 《EasyQuotation 与MongoDB在股市信息的奇妙融合》
  • Stable Diffusion:照片转视频插件
  • AI时代的研发生产关系,是否有新的可能?
  • 【Playwright + Python】系列(十)利用 Playwright 完美处理 Dialogs 对话框
  • AI产品经理必知的133个专业术语
  • 高阶函数(Higher-Order Function)
  • 高侧电流检测电路设计
  • [新闻]Tom Sawyer Software宣布发布SysML v2 Viewer
  • GLM-4-9B 是智谱 AI 推出的预训练模型 GLM-4 系列中的开源版本
  • Pytest-allure如何在测试完成后自动生成完整报告?
  • 占领矩阵-第15届蓝桥省赛Scratch中级组真题第5题
  • 桥梁轻量化结构监测系统解决方案
  • [OPEN SQL] SELECT语句
  • Android JNI 调用流程
  • 深入理解主键回显:提升数据操作效率与准确性
  • 目标检测系列(一)什么是目标检测
  • OpenMV与STM32通信
  • 稳了,搭建Docker国内源图文教程
  • Mysql梳理10——使用SQL99实现7中JOIN操作
  • C++ 面试模拟02
  • 2024 年最新 Protobuf 结构化数据序列化和反序列化详细教程
  • React Native 在 build 的时候如果出现 `babel.config.js` 配置文件的错误
  • 音频北斗定位系统有什么用?
  • C++入门编程题(力扣):字符串中最多数目的子序列