我們正在使用Spring Kafka實現卡夫卡消費者。正如我理解正確的話單信息的處理失敗,有選項卡夫卡消耗無法處理的消息 - 以後如何重新處理破碎的消息?
- 不關心,只是ACK
- 不要使用一些重試處理一個
RetryTemplate
- 如果連這不起作用做一些自定義故障處理使用
RecoveryCallback
我想知道你的最佳做法是什麼。我想到了簡單的應用程序異常,例如DeserializationException(用於JSON格式的消息)或更長的本地存儲停機時間等。這意味着需要一些額外的工作,如修補程序部署,以修復損壞的應用程序以便能夠重新處理錯誤的消息。由於丟失消息(即不處理它們)對我們來說不是一種選擇,唯一剩下的選擇是IMO將有故障的消息存儲在某個持久性存儲中,例如, G。另一個「錯誤消息」例如Kafka話題,以便這些事件可以在稍後再次處理,並且不需要完全停止事件處理。
你如何處理這些情況?