3
我们已经在生产中使用了LMAX干扰器将近一年。直到上周我们看到来自Disruptor的信息丢失时,一切都很好。我们的干扰器的结构是非常简单的:干扰信号丢失
卡夫卡 - > RingBuffer - > Eventhandler1 - > Eventhandler2 - > Eventhandler3
每个事件处理程序都有一个try-catch块捕获所有异常。最慢的是Eventhandler2,每条消息需要大约3毫秒。
我们发送了53条消息给Kafaka,它们全都由Eventhandler1处理。但不知何故,只有23条消息被Eventhandler2和Eventhandler3选中,我们在日志中没有看到任何异常。
我们试图在我们的开发环境中重现这一点,但我们没有看到这个问题。
所以我的问题是:
- 是否有可能干扰物下降的消息?
- 如果是,在什么情况下可能会丢弃消息?