RabbitMQ学习1——概述、优缺点

本文介绍了RabbitMQ的基本概念,包括其在AMQP协议基础上的开源消息队列系统特性,如跨平台支持和多语言客户端。文章还讨论了RabbitMQ的应用场景,如解耦组件、异步处理和流量削峰。此外,提到了其与其他消息中间件如RocketMQ和Kafka的对比,并指出了引入MQ可能导致的系统可用性和复杂性问题。
摘要由CSDN通过智能技术生成

一、概述

MQ 为Message Queue,消息队列是应用程序和应用程序之间的通信方法。

RabbitMQ是一个开源的,在AMQP基础上完整的,可复用的企业消息系统

支持主流的操作系统:linux、windows、macOX等

多种开发语言支持,java、pytyhon、Ruby、.Net、 php、c/c++、node.js等

开发语言:Erlang – 面向并发的编程语言。

AMQP:是消息队列的一个协议。mysql 是 java 写的吗?不是 那么 java 能不能访问?可以,则通过(驱动)协议;那么要访问 RabbitMQ 是不是也可以通过驱动来访问

应用场景:对于一个大型的软件系统来说,它会有很多的组件或者说模块或者说子系统或者(subsystem or Component or submodule)。那么这些模块的如何通信?这和传统的IPC有很大的区别。传统的IPC很多都是在单一系统上的,模块耦合性很大,不适合扩展(Scalability);如果使用socket那么不同的模块的确可以部署到不同的机器上,但是还是有很多问题需要解决。比如:

1)信息的发送者和接收者如何维持这个连接,如果一方的连接中断,这期间的数据如何方式丢失?

2)如何降低发送者和接收者的耦合度?

3)如何让Priority高的接收者先接到数据?

4)如何做到load balance?有效均衡接收者的负载?

5)如何有效的将数据发送到相关的接收者?也就是说将接收者subscribe 不同的数据,如何做有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹏小站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值