我想了解何时从worker调用IRecordProcessor的processRecords方法。如果我之前对processRecords的调用尚未完成,那么worker会调用下一个processRecords吗?worker将开始从kinesis获取新记录,还是等待当前记录完成执行。
基本上,如果processRecords在外部db中保存记录时出现异常,我会等待很长时间,因为db关闭或出现其他错误。所以,想确认一下,如果工作人员在较早的处理完成之前不开始提取新记录,就不会有任何问题吗?
其他问题摘录:
该应用程序(在KCL的帮助下)将继续在后台轮询“Shard Iterator”,因此当新数据出现时,您将收到通知。
资料来源:https://stackoverflow.com/a/35582161/1622134
此外,“worker”是指应用程序中的“worker”线程;这是一个可运行的。
每个分片都由一个KCL工作者处理,并且只有一个对应的记录处理器,因此您永远不需要多个实例来处理一个分片。请参阅KCL源代码中的Worker.java类。
资料来源:https://stackoverflow.com/a/34509567/1622134
要回答您的问题,您可以在您的流程记录实现中使用它。在处理记录时,如果且仅当try部分成功时,使用try-catch块并将检查点写入DynamoDB。那样的话;如果在写入外部db时出错,则在重新启动时不会丢失记录。您还应该将这些记录数据(无法插入数据库)保存到其他位置,以便稍后处理。
另请参见以下答案:https://stackoverflow.com/a/32517002/1622134
请帮忙。我在为中的Kinesis数据流设置消费者时遇到问题。NET控制台应用程序。 我已经按照留档做了所有的事情,但是每当我运行消费者时,我仍然会得到一个空白的控制台屏幕。到目前为止,生产者工作正常,AWS凭据也在工作。 我的系统上的JDK配置良好(对Java开发来说并不新鲜) 我有所有必要的政策附加到我的IAM用户 我可以看到生产者可以使用相同的AWS凭据以编程方式创建流、desc流等 我可以在
我有一个wsdl: 我想提交信息以获得回应。我创建了client.php如下: 但它在浏览器中显示错误: SoapFault对象([消息:受保护]= 我错在哪里?对此,可能的解决方案是什么? 编辑: 我已经创建了一个php文件:client。php 但它产生了这个错误: 调用错误:响应不是文本/xml类型:应用程序/wsdl xmlHTTP/1.1 200确定日期:星期二,9月17日2013 15
为什么我发现KCL与AWS Lambda一起使用的例子如此之少。https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html 它确实提供了一个很好的实现来跟踪您在流中的位置(检查点)。 我想使用KCL作为消费者。我的设置是一个具有多个碎片的流。每个碎片上都有一个Lambda在消耗。我想使用Lamb
我正试图通过hbc-twitter4j-v3获得推文。示例代码为:https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/Twitter4jSampleStreamExample.java为了在代理上启用身份验证,我还设置了主机、端口和身份验证的系统属性。但它显示出以下
我使用Wildfly Swarm generator创建了一个演示应用程序,我想在其中添加MicroProfile Rest客户端。 我只是添加了依赖项: 并调用RestClient实例化代码: 即使我不添加上面的行,只添加依赖项,我的应用程序也会出现依赖项错误。如果执行 我想知道我是不是忘记了一些依赖?或者我的代码有错误。 我的代码可以在这个存储库中找到。 我知道它不会成功,因为用户模型之间存在
我有一个使用KCL 2. x从Kinesis消费记录的应用程序,不同流分片中存在的数据格式不同,我想使用具有不同配置的不同KCL消费者单独处理它们。例如,如果我在Kinesis流中有3个分片,我将为不同的分片生成3个具有不同配置的不同消费者,即每个分片1个消费者。当我创建多个消费者时,我面临的问题是,如果我通过java Code配置3个不同的消费者,那么他们中的任何一个都在所有分片上出现租赁锁,而