网站推广广告申请,国外js特效网站,购买域名网站,设计的比较好的网站异步发送(验证码、短信、邮件…) MYSQL和Redis#xff0c;ES之间的数据同步 分布式事务 削峰填谷 RabbitMQ如何保证消息不丢失#xff1f;
开启生产者确认机制#xff0c;确保生产者的消息能到达队列 开启持久化功能#xff0c;确保消息未消费前在队列中不会丢失 开启消费…异步发送(验证码、短信、邮件…) MYSQL和RedisES之间的数据同步 分布式事务 削峰填谷 RabbitMQ如何保证消息不丢失
开启生产者确认机制确保生产者的消息能到达队列 开启持久化功能确保消息未消费前在队列中不会丢失 开启消费者确认机制为auto由spring确认消息处理成功后完成ack 开启消费者失败重试机制多次重试失败后将消息投递到异常交换机交由人工处理 RabbitMQ中死信交换机?(RabbitMQ延迟队列有了解过嘛) 我们当时一个什么业务使用到了延迟队列(超时订单、限时优惠、定时发布…) 其中延迟队列就用到了死信交换机和TTL (消息存活时间)实现的 消息超时未消费就会变成死信(死信的其他情况:拒绝被消费队列满了)
延迟队列插件实现延迟队列DelayExchange 声明一个交换机添加delayed属性为true 发送消息时添加x-delay头值为超时时间
RabbitMQ如果有100万消息堆积在MQ如何解决(消息堆积怎么解决)
增加更多消费者提高消费速度 在消费者内开启线程池加快消息处理速度 扩大队列容积提高堆积上限采用惰性队列 在声明队列的时候可以设置属性x-queue-mode为lazy即为惰性队列 基于磁盘存储消息上限高 性能比较稳定但基于磁盘存储受限于磁盘IO时效性会降低