Amazon Kinesis Stream with AWS SDK for Java

From NovaOrdis Knowledge Base
Revision as of 05:42, 3 October 2021 by Ovidiu (talk | contribs) (→‎Internal)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

External

Internal

Overview

Relevant Amazon Kinesis Stream concepts: stream name, partition key, sequence number.

Dependency

TODO: Gradle dependencies for ASW SDK for Java 2 look differently: https://kb.novaordis.com/index.php/AWS_SDK_for_Java_Version_2#Gradle_Project

TODO: Gradle dependencies for ASW SDK for Java 1 look differently: https://kb.novaordis.com/index.php/AWS_SDK_for_Java_Version_1#Gradle_Project

dependencies {
    implementation 'com.amazonaws:aws-java-sdk-kinesis:1.11.471'
}

Developing Stream Consumers

https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-sdk.html
Playground Example - Consumer with a TRIM_HORIZON Shard Iterator
Playground Example - Consumer with a LATEST Shard Iterator

Kinesis consumers developed with AWS SDK for Java use a pull model, where the client polls the stream. Kinesis Client Library (KCL) on the other hand, uses a push model, which is more efficient. In addition, KCL provides failover, recovery and load balancing functionality.

Developing Stream Producers

Playground Example - Record Producer