AWS/DynamoDB 是否有任何调度程序?
Are there any Schedulers for AWS/DynamoDB?
我们正在尝试迁移到 AWS 并使用 DynamoDB。最好将所有内容都放在 DynamoDB 下,这样就没有无关类型的数据库,但是除了完成了一半的研究项目之外,我真的找不到任何可用于调度程序的东西。将在数千个以上的范围内动态设置时间表,可能同时有许多 运行。对于语言,Java 或至少 JVM 会很棒。
有人知道适合 DynamoDB 或其他 AWS 技术的好的调度程序吗?
---附录
当我说调度程序时,我想到的是像石英这样的万能的东西。我想设置一个 cron,它会在那时使用我提供的代码运行。这不是在执行某些 AWS 任务,这是我们产品内部的任务。 SWF 的 cron 在 VM 内运行,所以我担心 VM 关闭时会发生什么。数据管道似乎有点太多了。我一直在研究为 quartz 制作一个 dynamodb 作业存储,一致的读取可能会解决事务和一致性问题,但我很犹豫,可能会遇到很多难以注意到的问题。
你看过AWS Simple Workflow? You would use the AWS Flow Framework to program against the service, and they have a well documented Java API with lots of samples. They support continuous workflows with timers which you can use to run periodic code (see code example here)。我正在使用 SWF 和 Flow Framework Ruby 到 运行 从我的主应用程序启动的异步代码,它运行良好。
您的另一个新选择是查看 AWS Lambda. You can attach your Lambda function code directly to a DynamoDB table update event,Lambda 将为您启动和关闭计算资源,您无需管理服务器来 运行 您的代码。此外,最近,AWS 推出了直接调用 Lambda 函数的功能——例如您可以使用外部计时器或其他代码来按特定时间表触发该功能。
最后,this SO线程可能还有其他选项供您考虑。
另一种选择是使用 AWS Lambda Scheduled Functions(2015 年 10 月 8 日在 AWS re:Invent 上新宣布)。
这是来自博客 (source) 的相关片段:
Scheduled Functions (Cron)
You can now invoke a Lambda function on a regular, scheduled basis. You can specify a fixed rate (number of minutes, hours, or days between invocations) or you can specify a Cron-like expression:
我们正在尝试迁移到 AWS 并使用 DynamoDB。最好将所有内容都放在 DynamoDB 下,这样就没有无关类型的数据库,但是除了完成了一半的研究项目之外,我真的找不到任何可用于调度程序的东西。将在数千个以上的范围内动态设置时间表,可能同时有许多 运行。对于语言,Java 或至少 JVM 会很棒。
有人知道适合 DynamoDB 或其他 AWS 技术的好的调度程序吗?
---附录 当我说调度程序时,我想到的是像石英这样的万能的东西。我想设置一个 cron,它会在那时使用我提供的代码运行。这不是在执行某些 AWS 任务,这是我们产品内部的任务。 SWF 的 cron 在 VM 内运行,所以我担心 VM 关闭时会发生什么。数据管道似乎有点太多了。我一直在研究为 quartz 制作一个 dynamodb 作业存储,一致的读取可能会解决事务和一致性问题,但我很犹豫,可能会遇到很多难以注意到的问题。
你看过AWS Simple Workflow? You would use the AWS Flow Framework to program against the service, and they have a well documented Java API with lots of samples. They support continuous workflows with timers which you can use to run periodic code (see code example here)。我正在使用 SWF 和 Flow Framework Ruby 到 运行 从我的主应用程序启动的异步代码,它运行良好。
您的另一个新选择是查看 AWS Lambda. You can attach your Lambda function code directly to a DynamoDB table update event,Lambda 将为您启动和关闭计算资源,您无需管理服务器来 运行 您的代码。此外,最近,AWS 推出了直接调用 Lambda 函数的功能——例如您可以使用外部计时器或其他代码来按特定时间表触发该功能。
最后,this SO线程可能还有其他选项供您考虑。
另一种选择是使用 AWS Lambda Scheduled Functions(2015 年 10 月 8 日在 AWS re:Invent 上新宣布)。
这是来自博客 (source) 的相关片段:
Scheduled Functions (Cron)
You can now invoke a Lambda function on a regular, scheduled basis. You can specify a fixed rate (number of minutes, hours, or days between invocations) or you can specify a Cron-like expression: