首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TRIM_HORIZON与最新

TRIM_HORIZON与最新
EN

Stack Overflow用户
提问于 2018-04-09 08:41:28
回答 3查看 31.6K关注 0票数 43

AWS Kinesis的正式文档中,我找不到TRIM_HORIZON和检查点之间的显式引用,也找不到LATEST和检查点之间的任何引用。

你能证实我的理论吗:

  • TRIM_HORIZON -如果应用程序名是新的,那么我将读取流中的所有可用记录。否则,应用程序名称已经被使用,然后我将从读取我的上一个检查点。
  • LATEST -如果应用程序名是新的,那么我将读取流中的所有记录,其中添加了之后的订阅了该流。否则,应用程序名称已经被使用,我将读取来自我的上一个检查点的消息。
  • 只有在应用程序名称是新的情况下,TRIM_HORIZON LATEST 之间的区别才会出现。
EN

回答 3

Stack Overflow用户

发布于 2019-04-24 13:15:49

AT_TIMESTAMP

-来自特定的时间戳

TRIM_HORIZON

-从一开始(卡夫卡最早的)所有可用的动态流中的信息

最新

-来自最新的信息,即刚进入Kinesis/Kafka的当前消息和从那个时候传入的所有文字信息

票数 24
EN

Stack Overflow用户

发布于 2018-04-09 14:02:04

来自GetShardIterator文档 (它与我使用Kinesis的经验相一致):

在请求中,您可以指定切分迭代器类型AT_TIMESTAMP从任意时间点读取记录,TRIM_HORIZON指定ShardIterator指向系统中碎片中最后一个未修剪的记录(碎片中最古老的数据记录),或者LATEST,以便始终读取碎片中的最新数据。

基本上,区别在于您是想从最老的记录(TRIM_HORIZON)开始,还是从“立即”开始(LATEST -跳过最新检查点和当前之间的数据)。

票数 17
EN

Stack Overflow用户

发布于 2021-05-06 23:38:09

问题很清楚地询问了这些选项与检查站之间的关系。然而,现有的答案中没有一个是针对检查点的。

贾斯汀·菲弗( Justin )对这一问题的权威回答出现在“纽约时报”( GitHub )杂志这里上。

最相关的部分是

KCL将始终使用租赁表中的值,如果它是存在的。,重要的是要记住,Kinesis本身并不跟踪消费者的位置。跟踪由租约表提供。租赁在KCL服务器的双重责任。它们既提供互斥,也提供位置跟踪。因此,对于互斥,需要创建租约,并且为了满足位置跟踪,必须选择初始值。

(强调是我加的。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49728807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档