关于RabbitMQ应用场景与实例的详解
创始人
2024-11-19 08:41:31
0次

小编给大家分享一下关于RabbitMQ应用场景与实例的详解,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

解决分布式事务的一致性,消息队列、消息中间件,消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。

当下主流的消息中间件有RabbitMQ、Kafka、ActiveMQ、RocketMQ等。其能在不同平台之间进行通信,常用来屏蔽各种平台协议之间的特性,实现应用程序之间的协同。优点在于能够在客户端和服务器之间进行同步和异步的连接,并且在任何时刻都可以将消息进行传送和转发,是分布式系统中非常重要的组件,主要用来解决应用耦合、异步通信、流量削峰等问题。
关于RabbitMQ应用场景与实例的详解

RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。它同时实现了一个Broker构架,这意味着消息在发送给客户端时先在中心队列排队,对路由(Routing)、负载均衡(Load balance)或者数据持久化都有很好的支持。

RabbitMQ从整体上来看是一个典型的生产者消费者模型,主要负责接收、存储和转发消息。
关于RabbitMQ应用场景与实例的详解
生产者:

生产者连接到RabbitMQ Broker,建立一个连接(Connection)开启一个信道(Channel)
生产者声明一个交换器,并设置相关属性,比如交换机类型、是否持久化等
生产者声明一个队列井设置相关属性,比如是否排他、是否持久化、是否自动删除等
生产者通过路由键将交换器和队列绑定起来
生产者发送消息至RabbitMQ Broker,其中包含路由键、交换器等信息
相应的交换器根据接收到的路由键查找相匹配的队列
如果找到,则将从生产者发送过来的消息存入相应的队列中
如果没有找到,则根据生产者配置的属性选择丢弃还是回退给生产者
关闭信道
关闭连接
消费者:

消费者连接到RabbitMQ Broker ,建立一个连接(Connection),开启一个信道(Channel)
消费者向RabbitMQ Broker请求消费相应队列中的消息,可能会设置相应的回调函数
等待RabbitMQ Broker回应并投递相应队列中的消息,消费者接收消息
消费者确认(ack) 接收到的消息
RabbitMQ从队列中删除相应己经被确认的消息
关闭信道
关闭连接
http://www.sohu.com/a/280203461_411876
为什么要有信道:生产者和消费者都要和RabbitMQ Broker 建立连接,这是一条tcp连接,而操作系统对于TCP连接的创建与销毁是非常昂贵的开销。

而高并发的时候,可能每秒有上万条tcp连接,资源浪费的同时也会超过操作系统每秒所能连接的数量,要在一条tcp连接上操作,又能保证各个线程之间的私密性,所以出现信道channel。

信道是虚拟连接,在connection基础上的虚拟连接,在应用程序和Rabbit Broker建立tcp连接时,客户端紧接着建立一个AMQP信道(channel),每个channel有唯一的ID,处理每条AMQP指令都是通过信道完成的。信道就像电缆里的光纤束,一条电缆内含有许多光纤束,允许所有的连接通过多条光线束进行传输和接收。

AMQP,高级消息队列协议,AMQP协议这种降低耦合的机制是基于与上层产品,语言无关的协议。是一种二进制协议,提供客户端应用与消息中间件之间多通道、协商、异步、安全、中立和高效地交互。从整体来看,AMQP协议可划分为两层:
功能层(定义命令,用于实现业务逻辑),传输层(基于二进制数据流传输,将应用程序调用的指令传回服务器,并返回结果)。

以上是关于RabbitMQ应用场景与实例的详解的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...