使用消费者组管理的建议解决方案是什么。 据我了解,有两种方法
1)使用DynamoDbMetadataStore和DynamoDbLockRegistry
2)使用AWS提供的kpl kcl功能?参见https://spring.io/blog/2019/05/13/spring-integration-aws-2-2-ga-and-spring-cloud-stream-kinesis-binder-1-2-ga-available 默认情况下,禁用kpl kcl。
关于这两种解决方案的利弊是什么?
答案 0 :(得分:0)
@Weso
我对 Spring Cloud Stream Kinesis binder 的短暂体验。
Approach 1.
如果您的 Kinesis 流动态更新分片/在自动缩放时创建额外的使用者。 - 再平衡没有发生。 曾发生所有分片被单个消费者锁定的事件。
Approach 2:
KPLKCL 正在使用来自 AWS 的 KCL 1.x。
它适用于动态缩放和重新平衡。
注意:您可能会看到当前版本 2.0.2 的 dynamodb 自动表创建问题(我使用的是 2.1.0 - 当前)