A Golang Kinesis Consumer Library with minimal dependencies. This library does not depend on the Java MultiLangDaemon but does use the AWS SDK.
This project aims to provide feature parity with the Kinesis Client Library including:
-
Enumerates shards
-
Coordinates shard associations with other workers
-
Instantiates a record processor for every shard it manages
-
Checkpoints processed records
-
Balances shard-worker associations when the worker instance count changes
-
Balances shard-worker associations when shards are split or merged
-
Instrumentation that supports CloudWatch (partial support)
-
Support enhanced fan-out consumers
-
Support aggregated records from Kinesis Producer library
Beta - Ready to be used in non-critical Production environments.
Actively used (via a fork) by VMWare
Unit tests can be run with:
go test consumer_test.go consumer.go checkpointer_test.go checkpointer.go monitoring.go monitoring_test.go
Integration tests can be run in docker with:
make docker-integration