我在 kafka 消息處理中有 3 種類型的負載:類別創(chuàng)建文件夾創(chuàng)建article_create我為此在數(shù)據(jù)庫中輸入理想情況下,加載應該按順序排列:category_create -> folder_create -> article_create,因為文件夾始終屬于某個類別,而文章始終屬于某個文件夾。對于 folder_create 處理文件夾的類別應該已經(jīng)作為 kafka 消息接收。但是在某些情況下,folder_create 加載在 category_create 之前幾毫秒。在 spring boot 中我可以做什么來等待幾毫秒,以防 folder_create 允許 category_create 處理然后處理 folder_create。嘗試在 Spring Boot 中使用 @Retry 和 @Recover ,但我想這不適合這種情況。
3 回答

互換的青春
TA貢獻1797條經(jīng)驗 獲得超6個贊
保證消費者以附加順序消費消息。在您的情況下,您應該考慮安全生產(chǎn)者按順序發(fā)送消息。為了實現(xiàn)這一點,最好讓“max.in.flight.requests.per.connection=1”、“acks=all”另一個是“enable.idempotence=true”。但是那些可能會在吞吐量上咬你一口。

桃花長相依
TA貢獻1860條經(jīng)驗 獲得超8個贊
消費者不能保證訂單,應該由生產(chǎn)者完成。
我們有類似的情況,我們在 DB 中創(chuàng)建了一個臨時表來存儲消息,直到我們收到所需的消息。然后處理數(shù)據(jù)庫中的記錄并將其刪除。
添加回答
舉報
0/150
提交
取消