java - 当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,该如何解决内存泄漏的问题?
PHP中文网
PHP中文网 2017-04-18 10:30:07
0
3
581

当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,程序会发生什么事?

例如我这里有组桥接的生产者,每30秒会发布3700万条消息,而消费者就是一个简单的客户端,处理这3700万条消息,消费者会发生什么事?

//我知道消费者的缓冲队列会爆满溢出,导致内存泄露

怎么解决?

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(3)
小葫芦
  • まず第一に、これはメモリリークとは呼ばれません。ちょっとゆるい名前です

  • 高い信頼性要件がない場合は、いくつかをランダムに破棄することを検討できます

  • 拡張ハードウェア

  • 信頼性に関する要件がある場合。簡単に言うと、まずハードディスクやデータベースに放り込まれる、つまりメモリに保存できないのです。これは Java の Socket インスタンスに似ています。それぞれ SendQ キューと RecvQ キューを維持する InputStream と OutputStream がありますが、これはメモリ内にあり、ハードディスク上に置くだけです。

いいねを押す +0
大家讲道理

あるじゃないですかRejectedExecutionHandler

いいねを押す +0
黄舟

たとえメモリがリークしても、コンピュータはクラッシュしません。 RejectedExecutionHandler は拒否されたタスクを処理します。なぜ Redis を使用しないのでしょうか、笑

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!