当前位置: 首页 > 知识库问答 >
问题:

如何与Flink kinesis Consumer保持幂等性?

葛威
2023-03-14

我有一个用例,其中,我正在通过运行在EMR上的flink作业(使用flink-kinesis连接器)从kinesis流中消费事件。作业接收事件,处理它并将其接收到某个数据存储。通过处理,这里我的意思是应用一些转换(数据充实)并做聚合。我在这里有几个问题:

>

  • 如何在消耗Kinesis事件的同时保持幂等性?我想只做一次处理,因为在聚合值时,重复项可能会给出错误的结果。我能想到的一种方法是在事件中维护主键。但为此,我需要存储处理过的值,并每次执行一次查找,这可能会降低延迟。我该怎么处理?有没有别的办法可以解决呢?(规模估计:我将有50万-60万个事件每天来流)

  • 共有1个答案

    潘宪
    2023-03-14

    希望这能帮助您设置与检查点相关的配置。

    val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
    env.getCheckpointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE)
    
     类似资料:
    • 我想实现使用azure cosmos DB创建文档的幂等性。请让我知道cosmos-db(文档db)是否开箱即用地支持此功能。 为此我使用了SQL api。

    • 面试题 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性? 面试官心理分析 其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ 领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。 面试题剖析 回答这个问题,首先你别听到重复消息这个

    • HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。(注意是副作用) GET http://www.bank.com/account/123456,不会改变资源的状态,不论调用一次还是N次都没有副作用。请注意,这里强调的是一次和N次具有相同的副作用,而不是每次GET的结果相同。GET http://www.news.com/latest-news这个HTTP请求可能会每次得到不同

    • 我读过很多地方说HTTP补丁是非幂等的。有人能解释一下为什么它是非幂等的吗?因为根据定义,幂等方法可以改变资源状态,也可以不改变资源状态,但是重复的请求在第一个请求之后应该不会有进一步的副作用。重复的补丁请求如何改变资源状态?

    • 接口是在Java5中引入的,而接口与语句一起出现在Java7中。扩展了接口(从Java7开始)。 在《OCA/OCP Java SE7-Programmer I&II学习指南》一书中,第399页说: 如果我们多次调用会发生什么?看情况.对于实现的类,要求实现是幂等的。这意味着您可以整天调用,第二次或以后都不会发生任何事情。[...]对于实现的类,则没有这样的保证。 因此本文认为,的实现必须是幂等的

    • 本文向大家介绍什么是幂等性?它是如何使用的?相关面试题,主要包含被问及什么是幂等性?它是如何使用的?时的应答技巧和注意事项,需要的朋友参考一下 幂等性指的是这样一种场景:您重复执行一项任务,但最终结果保持不变或类似。 幂等性主要用作数据源或远程服务,当它接收一组以上指令时,它只处理一组指令。