Amazon Kinesis Stream with AWS SDK for Java: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 14: Line 14:
=Dependency=
=Dependency=
<font color=darkgray>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</font>
<font color=darkgray>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</font>
<font color=darkgray>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</font>
<syntaxhighlight lang='groovy'>
<syntaxhighlight lang='groovy'>
dependencies {
dependencies {

Revision as of 05:41, 3 October 2021

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