Apache camel Camel中时间序列数据的幂等查询

Apache camel Camel中时间序列数据的幂等查询,apache-camel,splunk,Apache Camel,Splunk,我经常使用Camel的幂等模式来防止对离散消息的重复处理当所讨论的数据流是大量带有时间戳的消息时,执行此操作的最佳做法是什么? 考虑此路由配置(伪代码): 计时器->幂等元(搜索作为批处理->拆分->sql(插入)) 我们希望定期从splunk查询并写入sql。我们不想错过任何消息,也不想重复任何消息 我不想为每条消息保留一个幂等标记,而是想记录每个批的截止时间,并在截止时间开始下一个查询 只要你能依靠一些假设,你的方法可能会奏效: 索引器从不加载过去出现的数据(根据\u time字段) 您的

我经常使用Camel的幂等模式来防止对离散消息的重复处理当所讨论的数据流是大量带有时间戳的消息时,执行此操作的最佳做法是什么?

考虑此路由配置(伪代码):

计时器->幂等元(搜索作为批处理->拆分->sql(插入))

我们希望定期从splunk查询并写入sql。我们不想错过任何消息,也不想重复任何消息


我不想为每条消息保留一个幂等标记,而是想记录每个批的截止时间,并在截止时间开始下一个查询

只要你能依靠一些假设,你的方法可能会奏效:

  • 索引器从不加载过去出现的数据(根据
    \u time
    字段)
  • 您的驼峰路由一次不会在发送到同一数据库表的多个进程中运行

如果可以确保满足这些条件,则只需存储从搜索中收到的最大时间戳,并将其与splunk search命令的“
earlime
”参数一起使用。存储和检索max timestamp可以使用文件、单独的数据库表或目标表中的列来完成。

谢谢,要点很好。那么,您是否知道有任何现有的模式(即幂等消费者)可用于做这类事情,或者我们是否应该推出自己的模式?