我々は、LMAX Disruptorを生産に1年近く使用しています。私たちがDisruptorから落とされたメッセージを見たとき、先週まですべてがうまくいっていました。私たちのかく乱構造が非常に簡単です:Disruptor dropping message issue
カフカ - >リングバッファ - > Eventhandler1 - > Eventhandler2 - > Eventhandler3
各EventHandlerはすべての例外をキャッチするtry-catchブロックを持っています。最も遅いイベントハンドラ2は、各メッセージに対して約3ミリ秒かかります。
私たちはKafakaに53のメッセージを送りました、それらはすべてEventhandler1によって処理されました。しかし、何らかの形で、Eventhandler2とEventhandler3によって23件のメッセージしか取得されておらず、ログには例外が表示されませんでした。
開発環境でこれを再現しようとしましたが、この問題はありませんでした。
は、だから私の質問は以下のとおりですかく乱がメッセージをドロップするため
- が可能ですか?
- 「はい」の場合、どのような条件でメッセージが削除される可能性がありますか?