RabitMQ 简介

Posted yltrcc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabitMQ 简介相关的知识,希望对你有一定的参考价值。

每日一句

The secret of being miserable is to have leisure to bother about whether you are happy or not.
痛苦的秘密在于有闲工夫担心自己是否幸福。

概述

官网:https://www.rabbitmq.com/

RabbitMQ是实现了高级消息队列协议(Advanced Message Queueing Protocol , AMQP)的开源消息代理软件(亦称面向消息的中间件)。

什么是消息中间件

定义:支持在分布式系统中发送和接受消息的硬件或软件基础设施

消息中间件应用场景

消息中间件解决的就是分布式系统之间消息传递的问题。

简单概括一下消息中间件的应用场景大致如下:

  • 业务解耦:交易系统不需要知道短信通知服务的存在,只需要发布消息
  • 削峰填谷:比如上游系统的吞吐能力高于下游系统,在流量洪峰时可能会冲垮下游系统,消息中间件可以在峰值时堆积消息,而在峰值过去后下游系统慢慢消费消息解决流量洪峰的问题
  • 事件驱动:系统与系统之间可以通过消息传递的形式驱动业务,以流式的模型处理

rabbitMQ的起源

RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol)高级消息队列协议 的消息中间件,用于在 分布式系统中存储转发消息

RabbitMQ 正是由于它优越的表现被越来越多人认可。具体特点可以概括为以下几点:

  • 可靠性:持久化、传输确认发布确认等。
  • 灵活的路由:在消息进入队列之前,通过 交换器路由 消息
  • 扩展性:多个 RabbitMQ 节点可以组成一个集群,也可以动态扩展集群节点。
  • 高可用性:队列 可以在集群中的机器上设置 镜像,使得在部分节点出现问题的情况下,队列仍然可用
  • 多种协议:原生支持 AMQP 协议,还支持 STOMP、MQTT 等多种消息中间件协议
  • 多语言客户端:支持常用语言客户端。如:Java、Python、Ruby、PHP、C#、JavaScript
  • 管理界面:提供了一个易用的用户界面,使得用户可以 监控和管理消息、集群中的节点
  • 插件机制:提供了许多插件,以实现从多方面进行扩展,也可以自己编写插件。

美文佳句

在薄情的世界里,每个人都来去匆匆,没有谁会永远陪伴在你身边,没有人会时刻对你关怀备至,体贴入微,倒不如学会好好爱自己,不辜负余生。

你好,我是yltrcc,日常分享技术点滴,欢迎关注我:ylcoder

以上是关于RabitMQ 简介的主要内容,如果未能解决你的问题,请参考以下文章

第203天学习打卡(RabitMQ延时队列 实现定时任务)

redis也可以实现队列,为啥还要用rabitmq或者kafka

RabbitMQ简单使用

停止rabbitmq进程和队列后,rabbitmq保持请求

redisrabitmq对比

消息队列面试题