每日一句
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)的开源消息代理软件(亦称面向消息的中间件)。
什么是消息中间件
定义:支持在分布式系统中发送和接受消息的硬件或软件基础设施
消息中间件应用场景
【RabitMQ 简介】消息中间件解决的就是分布式系统之间消息传递的问题。
简单概括一下消息中间件的应用场景大致如下:
- 业务解耦:交易系统不需要知道短信通知服务的存在,只需要发布消息
- 削峰填谷:比如上游系统的吞吐能力高于下游系统,在流量洪峰时可能会冲垮下游系统,消息中间件可以在峰值时堆积消息,而在峰值过去后下游系统慢慢消费消息解决流量洪峰的问题
- 事件驱动:系统与系统之间可以通过消息传递的形式驱动业务,以流式的模型处理
RabbitMQ 正是由于它优越的表现被越来越多人认可。具体特点可以概括为以下几点:
- 可靠性:持久化、传输确认、发布确认等。
- 灵活的路由:在消息进入队列之前,通过 交换器 来 路由 消息
- 扩展性:多个 RabbitMQ 节点可以组成一个集群,也可以动态扩展集群节点。
- 高可用性:队列 可以在集群中的机器上设置 镜像,使得在部分节点出现问题的情况下,队列仍然可用
- 多种协议:原生支持 AMQP 协议,还支持 STOMP、MQTT 等多种消息中间件协议
- 多语言客户端:支持常用语言客户端。如:Java、Python、Ruby、PHP、
C#
、JavaScript - 管理界面:提供了一个易用的用户界面,使得用户可以 监控和管理消息、集群中的节点 等
- 插件机制:提供了许多插件,以实现从多方面进行扩展,也可以自己编写插件。
你好,我是yltrcc,日常分享技术点滴,欢迎关注我的公众号:ylcoder
文章图片
推荐阅读
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- Python|Python实战(使用线性回归预测房价)
- IC|数字IC后端真的不如前端设计和验证吗()
- Python|教你写个简单好用的Python脚本一键自动整理文件非常适合办公用~
- python|oeasy教您玩转python - 007 - # 字符本质
- vue.js|后端开发学习Vue(一)
- Go|Docker后端部署详解(Go+Nginx)
- 后台|NATAPP内网穿透通过nginx实现一个端口访问多个不同端口服务