如何解决消息队列的延时,以及过期失效问题?消息满了以后如何去处理,有几百万消息持续积压几小时应当如何去解决?

Lonely wanderer 2019-06-07 03:48:26
1. rabbitmq是可以设置过期时间的,TTL,超过时间后被rabbitMQ清理掉 导致数据丢失。一般过期时间在上线系统当中是不允许设置的,如果设置了,导致数据的丢失,那就只能在自己去手动写程序查出你丢失的数据,然后补发到MQ中。 2.消息队列满了应当如何去处理? 这个问题就很棘手了,在方案设计的时候就应当考虑到执行问题。 可以写个临时程序,接入数据来进行消费 消费一个丢一个 都不要了,快速消费掉所有的消息,然后就只能走刚才讲过的一个案例啦,手动写程序,补发数据。 3. 几百万数据持续积压问题? 首先呢,你需要先先解决自己的消费者,因为造成几百万数据的积压,可能是因为消费者宕掉了。解决完消费者之后增加消费者,消费积压的消息。如果你是KAFKA的话,可以更改自己当前消费者不要直接去操作数据库,操作你新创的partiton ,创建一个topic里配置假如说是30partiton,在这提高吞吐量,完成入库。
...全文
127 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

488

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧