- 数据同步的时候消费者挂掉了
消费者挂掉的原因是因为内存溢出,为什么会内存溢出?
后面发现线停到消费者,然后等待队列里面堆积很多消息之后在启动消费者,发现不一会儿就会出现内存溢出,排查发现是因为没有使用QOS预取,导致了消息一下子全部被拉取到消费者,导致消费者内存溢出。
解决方案:设置QOS的值为300,重新发布消费者,没有出现内存溢出 - 消息丢失
生产者----->MQ---------->消费者
1.网络等问题,生产者没有把消息发送过去
2.MQ没有把消息持久化,挂了
3.消费者没有消费完,挂了
解决方法:用confirm回调的方式,失败的话,重新发送一次,异步
用事务方式,异常回滚,否则提交,同步,消耗性能
消费者主动告诉MQ自己消费成功了 - 重复消费
解决办法:保证消息的幂等性,相同的消息只处理一次 - 系统的可用性降低
- 系统的复杂性提高
- 一致性问题
消息中间件带来的问题
最新推荐文章于 2024-08-28 14:59:20 发布