According to Amazon Kinesis Streams documentation, a record can be delivered multiple times.
The only way to check each record only once is to temporarily save them in a database that supports integrity checks (for example, DynamoDB, Elasticache or MySQL / PostgreSQL) or just a RecordId breakpoint for each Kinesis fragment.
Do you know a better / more efficient way to handle duplicates?
. , , , MD5 , - , , .
-, , , , , , Kinesis, .
, DynamoDB MD5 . , - , , DynamoDB , , ( ). , . DynamoDB, .
DynamoDB - Time To Live, , , . DynamoDB, , ElastiCache, ElastiCache ( , Memcached) - , , , .
, , " ". , , (- ReadTimeout ..). . , .
" " . , AWS SQS : https://aws.amazon.com/about-aws/whats-new/2016/11/amazon-sqs-introduces-fifo-queues-with-exactly-once-processing-and-lower-prices-for-standard-queues/. , SQS , Kinesis.
, , ( ). , (, , ), , ( ).
. :
Source: https://habr.com/ru/post/1016091/More articles:D3 Force Directed Graph: why flags are not displayed? - javascriptReading CSV file in Android application - javaUILabel add GradientLayer - ioshttps://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=ru&sp=nmt4&tl=en&u=https://fooobar.com/questions/1016089/adding-foreignobjects-to-d3-force-directed-graph-nodes-breaks-events&usg=ALkJrhjSV59X23KsUoq_s_Z3y_fnoOdvxgThe relationship between a TypeScript class and an interface of the same name - classGoogle cloud functions with ECONNRESET errors until I redistribute - google-cloud-storageDependency Injection with .NETCore for DAL and Connection Strings - dependency-injectionКак я могу прочитать содержимое нового файла облачного хранилища типа .json изнутри облачной функции? - javascriptresponse-router 4 - История браузера требует DOM - react-router-v4Writing code to find the column associated with the CodeReview request request element - c #All Articles