目前的情况是:客户数据需要先进缓存队列,然后从队列出来入库,现在的问题是,由于数据库连接数的限制和用户评论数据量很大的原因,导致数据出队的速度明显小于入队的速度,数据积压在队列中,造成内存飙升,以及无法将最新的评论进行相关处理,请问有什么解决办法吗?

解决方案 »

  1.   

    可以考虑分布
    利用消息队列,比如 ActiveMQ中间件
    然后用多台消费者用处理消息
      

  2.   

    阻塞队列原理去了解下,可参考datax
      

  3.   

    active

    http://www.javafor.com/view/article/39
    这里有个ActiveMQ例子
      

  4.   

    redis队列都积压,直接入库连接数能够么还不崩了
      

  5.   


    目前队列用的就是阿里的redis,多线程消费队列,积压的时间不确定
      

  6.   

    1 加大 redis内存容量, 客户数据是什么数据,能否过滤掉一些无用的数据?
    2 扩充数据库性能:比如容量,吞吐量
      

  7.   

    还有一个就是 你给 阿里的工程师 发一个工单,他们 应该会有解决方案推荐给你,最后可能就是需要你们 money的问题。
      

  8.   

    redis 内部是单线程队列。 建议用分布式吧,分多台机器跑
      

  9.   


    目前队列用的就是阿里的redis,多线程消费队列,积压的时间不确定
    如果利用分布式,多台消费的方式,还出错积压的话,
    是不是可以从业务上想办法?上面有位兄弟,提出过滤掉不需要处理的消息,不入队列,
    另一种是不是可以考虑,把业务折分,分散到不同的 入列中?
      

  10.   

    csdn提问增长知识,开拓视野,谢谢大家咯