我在這個問題上沒有太多經驗,也許做錯了什麼。
當我停止 Kafka 代理並在暫停後再次啟動它時,就會出現問題。代理啟動後幾秒鐘,我的生產者發出錯誤:「主題不存在」。由於此錯誤,所有離線緩衝的訊息都會遺失。很快地錯誤就消失了,並產生了連續的訊息。
如果我將“auto.create.topics.enable”伺服器屬性變更為“true”,則在代理重新啟動後仍會出現“主題不存在”錯誤,但緩衝的訊息會按預期產生。
我想,如果允許自動建立主題,則錯誤「主題不存在」被認為是暫時的,生產者會重複發送訊息,直到錯誤消失。否則,不會進行重複且緩衝的訊息會遺失。
我可以做一些事情來使用 "auto.create.topics.enable" = false 並且不丟失訊息嗎?
在WSL2 Ubuntu 22.04.1 上執行kafka_2.13-3.4.0,並在Windows 10 上使用帶有librdkafka v2.1.1 的C++ 用戶端。 all。此主題是使用複製因子 1、分區 1 建立的。