java - Amazon kinesis KCL 1.14.3 - 多个分片和实例问题
问题描述
我有我的应用程序的两个实例和 kinesis 中的两个分片。
设想,
启动实例 1. 应用程序获得两个分片。一切都好。
几次后启动实例 2。当实例 1 处理来自两个分片的记录时,然后在后台我有关于在 shard2 上关闭的信息。
Invoking shutdown() for shard shardId-0000000000XX, concurrencyToken: 07b1aba8-0aa3-48c4-9992-XXXXXXXX, original Shutdown reason: ZOMBIE. childShards:null
我在完成流程记录后创建了检查点,现在我为第二个分片释放了租约,然后我无法创建检查点,并且实例 2 立即从 kinesis 收到了新记录。
我尝试在实例 1 中关闭块方法以等待完成记录处理,但实例 2 同时从 kinesis 接收记录。
如何覆盖任何方法以保持分片 2 的租约并优雅地完成处理记录?
解决方案
推荐阅读
- java - 当 Spring 执行器在 Webflux 项目中遇到 Spring Metrics 时
- javascript - 使用 Typescript 允许 React 组件上的任意 data-* 属性
- c++ - C++ / Arduino:如何从子类访问对象
- c# - 为什么 asp .net core 不在异步方法中记录异常?
- ios - 通过 Flutter 解析 OneSingal 推送通知中的附加数据
- spring - Spring Boot 应用程序。批处理在 JpaRepository.saveAll 方法中不起作用
- java - 从 0.5.0 到 0.8.0 的 opentelemetry-api 迁移问题
- javascript - Spring Boot:双引号格式错误
- java - 使用 JDBI 的 Quarkus
- tensorflow2.0 - 类型错误:“函数”接受 1 个位置参数,但给出了 2 个