RabbitMQ简介

RabbitMQ简介

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日志处理平台

相关推荐
笨鸟先飞的橘猫18 小时前
skynet——分布式支持
分布式·skynet
ACP广源盛139246256731 天前
GSV6155 @ACP#工业车规 DP1.4 重定时器 Retimer
大数据·人工智能·分布式·嵌入式硬件
ACP广源盛139246256731 天前
GSV2221@ACP# DP1.4 MST 多流显示转换芯片国产工业多屏
大数据·人工智能·分布式·嵌入式硬件·spark
sukioe1 天前
从 0 到 1 构建城市公共设施智能报修与派单系统:FastAPI + Vue3 + RabbitMQ + Redis Geo + AI 工作流实践
redis·rabbitmq·fastapi
ACP广源盛139246256731 天前
GSV2231@ACP# 增强型 8K MST 多屏扩展芯片
大数据·人工智能·分布式·嵌入式硬件
虚心的百褶裙1 天前
远程调用服务架构设计及zookeeper技术详解(下篇)
分布式·zookeeper·云原生
清晨曦月1 天前
【从零构建分布式在线评测系统】二、Judge0服务器上的心跳程序
运维·服务器·分布式
万联WANFLOW2 天前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
月落归舟2 天前
从单机到分布式:互联网系统架构演进全流程
分布式·系统架构
搬砖柯2 天前
系列12-接口压测怎么做成平台能力?自研 httpx 引擎、分布式 Worker 与 Locust 选型对照
分布式·测试工具·性能优化·开源·自动化·httpx