2002年做网站多少钱营销型网站设计
异步发送(验证码、短信、邮件…)
 MYSQL和Redis,ES之间的数据同步
 分布式事务
 削峰填谷

 


 RabbitMQ如何保证消息不丢失?
开启生产者确认机制,确保生产者的消息能到达队列
 开启持久化功能,确保消息未消费前在队列中不会丢失
 开启消费者确认机制为auto,由spring确认消息处理成功后完成ack
 开启消费者失败重试机制,多次重试失败后将消息投递到异常交换机,交由人工处理


 

 
RabbitMQ中死信交换机?(RabbitMQ延迟队列有了解过嘛)
 我们当时一个什么业务使用到了延迟队列(超时订单、限时优惠、定时发布…)
 其中延迟队列就用到了死信交换机和TTL (消息存活时间)实现的
 消息超时未消费就会变成死信(死信的其他情况:拒绝被消费,队列满了)
延迟队列插件实现延迟队列DelayExchange
 声明一个交换机,添加delayed属性为true
 发送消息时,添加x-delay头,值为超时时间
RabbitMQ如果有100万消息堆积在MQ,如何解决(消息堆积怎么解决)
增加更多消费者,提高消费速度
 在消费者内开启线程池加快消息处理速度
 扩大队列容积,提高堆积上限,采用惰性队列
 在声明队列的时候可以设置属性x-queue-mode为lazy,即为惰性队列
 基于磁盘存储,消息上限高
 性能比较稳定,但基于磁盘存储,受限于磁盘IO,时效性会降低
