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

亚马逊运动和保证订购

拓拔耀
2023-03-14

亚马逊声称他们的Kinesis流媒体产品保证了记录订购。

它提供了记录的排序,以及以相同顺序读取和/或重播记录的能力(…)

动觉由流组成,流本身由一个或多个碎片组成。记录存储在这些碎片中。我们可以编写消费者应用程序,连接到碎片,并按照存储顺序读取/重播记录。

但是,动觉能保证在不将订购逻辑推给消费者的情况下,为流本身进行开箱即用的订购吗?消费者如何从同一流的多个碎片中读取记录,确保以添加到流中的相同顺序读取记录?

共有3个答案

裘丰
2023-03-14

在此输入图像描述

虽然不确定。

但在这篇文章中,我想他们是在说,可以在多个碎片之间排序。

我希望数据流意味着碎片的逻辑分组。如果这是真的,那么我想排序是可能的。

请检查并确认

苗阳
2023-03-14

如果你需要保证流中所有数据的顺序,你只能有一个分片。当然,这不是很好地扩展。你需要确定的是你是否真的需要那个级别的有序数据。流中的所有数据是否与所有其他数据相关?关键是在数据相关时将数据放入分片中。使用多个分片允许并行处理您的数据。如果所有相关数据都在一个分片中,您可以利用保证的顺序。如果你真的需要对所有数据进行排序,你将不得不处理随之而来的有限扩展。

米承嗣
2023-03-14

看来这是不可能实现的。可以保证在碎片级别上排序,但不能跨所有流排序。

https://brandur.org/kinesis-order

那么回到我们最初的问题:我们如何保证所有记录都按照其生成的相同顺序进行消费?答案是我们不能,但我们不应该让这个不幸的现实太多地困扰我们。一旦我们将流扩展到多个碎片,就没有任何机制可以保证记录在整个流中按顺序消费;仅在单个碎片内。

 类似资料:
  • 我刚刚开始使用AWS EC2。我明白EC2就像一台远程计算机,在那里我可以做几乎所有我想做的事情。然后我发现了ECS的事。我知道它使用Docker,但我对这两者之间的关系感到困惑。 ECS只是EC2中的Docker安装吗?如果我已经有一个EC2并且我启动了一个ECS,这是否意味着我有两个实例?

  • 亚马逊云 图 1.20.2.1 - AWS AWS,即 Amazon Web Services,是亚马逊(Amazon)公司的 IaaS 和 PaaS 平台服务。AWS 提供了一整套基础设施和应用程序服务,使用户几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。AWS 面向用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云计算服务,能够帮助企业降低 IT

  • 我有一个亚马逊运动流,由多个碎片组成。碎片的数量,因此消费者的数量,不是一个常数。 有一种不常见的事件类型,我希望广播给流中的每个消费者。 制作人是否有办法播放一张唱片,即发现碎片并将唱片放在每个碎片上?

  • 我想问alexa各种各样的问题,最后我想让它问“你还有什么想知道的吗?”当我说“是”(yes是工作建议)时,它应该根据我的意图来建议我。就像我在

  • 我目前正在开发一系列需要与Kinesis集成的web服务——实现已经完成,然而,我们有一系列的集成测试(我们的web服务都使用Spring Boot,所以我们在测试类上使用注释来启动服务器的本地实例,然后使用调用我们的资源),这些测试目前正在尝试连接到真正的Kinesis,但失败了。 虽然在普通的单元测试中,模拟对Kinesis库中的方法的调用不是问题,但在集成测试中,我们无法真正做到这一点,因为

  • 但有些多重问题, 如何在.NET中对Amazon Cognito用户池执行身份验证。我以以下方式启动Auth: 他们的文档非常非常糟糕,当我想回应挑战时,我似乎找不到该通过什么。 我假设它只是用默认的JWT中间件配置OWIN,还是应该期待其他东西?