我正在研究使用Kinesis客戶端庫(KCL)從AWS Kinesis Stream中讀取和處理事件的應用程序。我不希望事件生產者端遭受延遲,因此使用KinesisAsyncClient發送事件。但是爲了讓我的事件處理正常工作,我需要在生產者端處理「我稱爲putRecordAsync的命令」中的均衡器。這些信息作爲每個Kinesis記錄中的時間戳字段提供。如何在KCL中重新排序異步發送Kinesis Events
除了切換使用阻塞同步Kinesis客戶端,還有其他解決方案可以有效地對流式事件進行排序嗎?
讀者將按照它們在流中的順序獲取事件。您只能控制生產者事件的順序。您可以使用putRecords(注意s),它將多個事件按順序排列。您還可以使用上一個事件的seq-id將下一個事件放在後面。這對你有意義嗎? – Guy
@Guy使用Kinesis的Async Client執行putRecordsAync是否也能保證事件的順序? – SuSanD
使用PutRecords(sync或async)對Kinesis進行的API調用將保留呼叫有效內容中事件的順序。如果您正在客戶端代碼中執行額外的批處理以創建不同的API調用,則這些事件可能不是按順序你在多次調用中調用異步。 – Guy