RabbitMQ消息队列

本文详细介绍了RabbitMQ消息队列的核心原理,包括生产者、消费者、队列的概念,以及工作队列、消息确认、公平调度、exchange类型、队列持久化等关键特性。并探讨了如何在实际应用中解决消息丢失和负载均衡问题。
摘要由CSDN通过智能技术生成

RabbitMQ是一个消息代理。它的核心原理是接收和发送消息。

RabbitMQ和消息,有一些专有名词,如下:

生产(Producing)的意思是发送,发送消息的程序就是一个生产者(producer)。

队列(queue)的意思是名称,消息通过你的应用程序和RabbitMQ进行传输,它们能够只存储在一个队列(queue)中。队列(queue)没有任何限制,你要存储多少消息都可以——基本上是一个无限的缓冲。多个生产者(producers)能够把消息发送给同一个队列,同样,多个消费者(consumers)也能够从一个队列(queue)中获取数据。

消费(Consuming)和获取消息是一样的意思。一个消费者(consumer)就是一个等待获取消息的程序。


一般生产者,消费者和代理不必部署在同一台机子上。

要发送消息,我们必须首先定义一个queue(队列),然后我们才能把消息发送给queue;

queue 的定义具有幂等性(一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相等),因此定义的queue已经存在,不会重复定义,且不能修改。

Work Queues(别名:Task Queue)是为了避免立即做一个资源密集型任务,而不得不等待它完成。我们可以把这个耗时的任务封装提取起来作为message,发送给一个queue。一个Worker 后台进程会获取task,然后执行他。当有多个Workers 时,他们平分这些task。

Round-robin dispatching 循环调度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值