请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

有个问题

如果mq的队列满了,消费者这时候消费不完,生产者还在生产消息,这个时候可能会阻塞很久。咋去处理呢?

正在回答

1回答

这个是消息慢速消费和堆积问题,可以消费端扩容,增大并行度。生产者生产消息快,消费端消费消息慢,这个问题只能去做扩容处理。如果是mq出现问题,可以做降级,比如原来t投递mq的消息可以走异步PRC,http调用,比如dubbo,thrift,asynchttp都可以实现

0 回复 有任何疑惑可以回复我~
  • 提问者 海王sk #1
    做降级处理??消息先后消费的优先级别?如果是MQ出现问题,rpc框架怎么取队列中的数据?
    回复 有任何疑惑可以回复我~ 2018-08-10 21:23:26
  • 阿神 回复 提问者 海王sk #2
    这个是要做可靠性投递的哦,mq出现问题的话第一可能没有确认消息投递成功标记。就算是有标记投递成功了,但是mq服务器异常,那么我们可以手工发rpc调用消费端,不走mq,这个不需要从mq里取,需要自己在本地有个记录,最后消费段保障幂等
    回复 有任何疑惑可以回复我~ 2018-08-13 10:22:58
  • 提问者 海王sk #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-08-13 15:55:04

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信