首页 > MQ

  上一篇文章:  RabbitMQ 死信机制真的可以作为延时任务这个场景的解决方案吗? 里最终得出的结论: RabbitMQ 死信机制可以作为延时任务这个场景的解决方案 但是,由于 RabbitMQ 消息死亡并非异步化,而是阻塞的。所以无法作为复杂延时场景——需要每条消息的死亡相互独立这种场景  下的解决方案。 如果说,果真我的 ...

Read more »

阅读全文 »
关于延时任务,在业务场景中实在是太常见了。比如订单,下单xx分钟未支付就要将订单关闭。 比如红包, XX分钟未抢,则红包失效。 那么说起延时任务的实现方案的话,可能有很多人第一时间会想到轮询,即设置定时任务,而稍有经验的开发者就知道。轮询这机制会给数据库带来很大压力,小业务当然无所谓。如果是大量数据要处理的业务用轮询肯定是不行的。而且你如果要保证高可用,就又得牵扯出分布式定时任务。怎么搞都很麻烦。 很多小机灵鬼知道可以用消息队列来实现。确实,MQ的异步性和解耦性在延时任务的这种场景下可以爆发出很强的战斗力。而 RabbitMQ 因其被广泛使用,关于如何实现延时任务自然也有其解决方案…

阅读全文 »

若想实现RabbitMQ的消息回调,需要在配置文件下的rabbit选项下添加一行设置: #启用消息确认机制。能收到MQ Broker的异步响应 publisher-confirms: true   然后在发送者发送消息之前,需要先自行绑定好一个回调方法。 下面是创建回调方法与绑定的全部代码: package com.skypyb.rabbitmq.producer; import com.skyp ...

Read more »

阅读全文 »

自然,依赖是少不了的。除了spring-boot-starter-web依赖外。 就这个是最主要的依赖了,其他的看着办就是了。我用的是gradle,用maven的看着弄也一样的。无非就是包+包名+版本 //AMQP compile('org.springframework.boot:spring-boot-starter-amqp:2.0.4.RELEASE') 这里有一个坑。导致我后来发送消息时一直连不上去。报 ...

Read more »

阅读全文 »

AMQP核心概念: Server:又称Broker,接收客户端的连接,实现AMQP实体服务 Connection:连接,应用程序与Broker的网络连接。 Channel:网络信道,几乎所有的操作都在Channel中进行,每个Channel代表一个会话任务。 Message:消息,服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比 ...

Read more »

阅读全文 »

过不久就需要亲身参与/负责一个分布式架构。得用到消息进行服务器之间的通信。技术选型为RabbitMQ,赶紧自学一下。 今天太晚了之后的就不弄了。也就安装完了进了下管控台。特么主要是我想用虚拟机里边的mysql,偏偏这mysql密码我忘了,搞了好久。 RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同 ...

Read more »

阅读全文 »
EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00