当消息生产者生产消息的能力远远大于消息的消费者的消费能力时,程序会发生什么事?
例如我这里有组桥接的生产者,每30秒会发布3700万条消息,而消费者就是一个简单的客户端,处理这3700万条消息,消费者会发生什么事?
//我知道消费者的缓冲队列会爆满溢出,导致内存泄露
怎么解决?
认证高级PHP讲师
まず第一に、これはメモリリークとは呼ばれません。ちょっとゆるい名前です
高い信頼性要件がない場合は、いくつかをランダムに破棄することを検討できます
拡張ハードウェア
信頼性に関する要件がある場合。簡単に言うと、まずハードディスクやデータベースに放り込まれる、つまりメモリに保存できないのです。これは Java の Socket インスタンスに似ています。それぞれ SendQ キューと RecvQ キューを維持する InputStream と OutputStream がありますが、これはメモリ内にあり、ハードディスク上に置くだけです。
あるじゃないですかRejectedExecutionHandler?
RejectedExecutionHandler
たとえメモリがリークしても、コンピュータはクラッシュしません。 RejectedExecutionHandler は拒否されたタスクを処理します。なぜ Redis を使用しないのでしょうか、笑
まず第一に、これはメモリリークとは呼ばれません。ちょっとゆるい名前です
高い信頼性要件がない場合は、いくつかをランダムに破棄することを検討できます
拡張ハードウェア
信頼性に関する要件がある場合。簡単に言うと、まずハードディスクやデータベースに放り込まれる、つまりメモリに保存できないのです。これは Java の Socket インスタンスに似ています。それぞれ SendQ キューと RecvQ キューを維持する InputStream と OutputStream がありますが、これはメモリ内にあり、ハードディスク上に置くだけです。
あるじゃないですか
RejectedExecutionHandler
?たとえメモリがリークしても、コンピュータはクラッシュしません。 RejectedExecutionHandler は拒否されたタスクを処理します。なぜ Redis を使用しないのでしょうか、笑