RabbitMQ
文章平均质量分 95
敲代码的翠花
这个作者很懒,什么都没留下…
展开
-
Redission分布式锁
在实际生产情况下,拿到锁的微服务如果宕机了,锁没有释放,怎么办,可以给key设置过期时间;如果拿到锁的服务宕机了,锁没有释放怎么办,redis中锁的默认失效时间是30秒,如果30秒之后,拿到锁的微服务的业务代码还没有执行完,redission有一个自动续约功能,通过watchdog机制来实现,只要微服务加锁成功了,它会启动后台的一个调度线程,这个线程会每隔10秒把失效时间重置为30秒,如果加锁的redis节点宕机了,那么watchdog也会释放,那么30秒之后,这个锁也会释放。运行完代码之后查看数据库。原创 2024-02-28 16:41:42 · 1436 阅读 · 0 评论 -
RabbitMQ部署指南
我们在Centos7虚拟机中使用Docker来安装。原创 2024-02-28 00:20:47 · 1530 阅读 · 0 评论 -
一,RabbitMQ-基础篇
基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。原创 2024-02-13 18:52:29 · 934 阅读 · 0 评论 -
二,RabbitMQ-高级篇
每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目加载时配置:@Slf4j@Override// 获取RabbitTemplate// 设置ReturnCallback// 投递失败,记录日志log.info("消息发送失败,应答码{},原因{},交换机{},路由键{},消息{}",// 如果有业务需要,可以重发消息});/*** @param correlationData 自定义的数据* @param ack 是否确认。原创 2024-02-13 17:35:49 · 934 阅读 · 0 评论