2017-02-21 15 views
0

我通過PutRecords發送數據給aws kinesis。所有的數據都發送成功。 但是有些記錄在消費者方面收到兩次。我檢查了發送的數據和收到的數據,它們是一樣的。 我覺得PutRecords會在沒有收到來自kinesis服務器的響應時重新發送數據(響應由於可怕的網絡站點而丟失)。但數據是由kinesis服務器接收的。 因此,我在消費者方面獲得了兩次相同的記錄。當網絡不好時PutRecords會重發數據

我的假設是否正確?

回答

0

您使用的是什麼版本的SDK? SDK不會在超時時重試。所以我不認爲這是原因。

無論重複的原因是什麼,關於處理重複項here有一個好的帖子。

+0

感謝您的回覆。我得到了回覆表單支持團隊,記錄可能存儲在kineis服務器端,但由於網絡不良導致sdk返回錯誤。由於回覆的錯誤,我的應用程序將再次發送記錄。我需要爲每條記錄添加一個主鍵或唯一索引。這樣我可以放下已收到的一些記錄。 http://docs.aws.amazon.com/streams/latest/dev/kinesis-record-processor-duplicates.html#kinesis-record-processor-duplicates-producer非常感謝!祝你今天愉快! –

相關問題