84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,程序会发生什么事?
例如我这里有组桥接的生产者,每30秒会发布3700万条消息,而消费者就是一个简单的客户端,处理这3700万条消息,消费者会发生什么事?
//我知道消费者的缓冲队列会爆满溢出,导致内存泄露
怎么解决?
认证高级PHP讲师
首先,这个不叫内存泄漏。叫法有点不严谨
对可靠性要求不高可以考虑随机丢掉一些
扩展硬件
对可靠性有要求的话。简单来说就是先扔到硬盘or数据库里,总而言之不能放内存里了。有点像Java中的Socket 实例都有一个 InputStream 和 OutputStream分别会维护一个SendQ队列和RecvQ队列,不过它是在内存中,我们放到了硬盘中而已。
不是有个RejectedExecutionHandler吗?
RejectedExecutionHandler
都内存泄露了还不死机啊。RejectedExecutionHandler对拒绝的任务进行处理,要不看看用redis,哈哈
首先,这个不叫内存泄漏。叫法有点不严谨
对可靠性要求不高可以考虑随机丢掉一些
扩展硬件
对可靠性有要求的话。简单来说就是先扔到硬盘or数据库里,总而言之不能放内存里了。有点像Java中的Socket 实例都有一个 InputStream 和 OutputStream分别会维护一个SendQ队列和RecvQ队列,不过它是在内存中,我们放到了硬盘中而已。
不是有个
RejectedExecutionHandler
吗?都内存泄露了还不死机啊。RejectedExecutionHandler对拒绝的任务进行处理,要不看看用redis,哈哈