为了账号安全,请及时绑定邮箱和手机立即绑定

当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,该如何解决内存泄漏的问题?

当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,该如何解决内存泄漏的问题?

慕姐8265434 2019-02-20 07:41:32
当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,程序会发生什么事? 例如我这里有组桥接的生产者,每30秒会发布3700万条消息,而消费者就是一个简单的客户端,处理这3700万条消息,消费者会发生什么事? //我知道消费者的缓冲队列会爆满溢出,导致内存泄露 怎么解决?
查看完整描述

4 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

  • 首先,这个不叫内存泄漏。叫法有点不严谨

  • 对可靠性要求不高可以考虑随机丢掉一些

  • 扩展硬件

  • 对可靠性有要求的话。简单来说就是先扔到硬盘or数据库里,总而言之不能放内存里了。有点像Java中的Socket 实例都有一个 InputStream 和 OutputStream分别会维护一个SendQ队列和RecvQ队列,不过它是在内存中,我们放到了硬盘中而已。

查看完整回答
反对 回复 2019-03-01
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

不是有个RejectedExecutionHandler吗?

查看完整回答
反对 回复 2019-03-01
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

都内存泄露了还不死机啊。RejectedExecutionHandler对拒绝的任务进行处理,要不看看用redis,哈哈

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 1187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信