【发布时间】:2021-12-28 23:32:29
【问题描述】:
我目前正在设计一个无服务器系统,我想在其中存储将在用户定义时使用的对象。例如,用户可以说“这个对象将在 3 天内完成 x”。该对象被存储在数据库中,然后 3 天后,该对象将发生一个动作。
我希望它尽可能实时。 Time driven events architecture 这个答案建议使用优先级队列,我认为这是个好主意。但是在无服务器架构中,如何仅在用户集通过后才将对象从优先级队列中拉出?我现在能想到的唯一方法是每隔一段时间轮询一次队列,但如果优先级队列可以自行弹出并在队列前面的对象过期时采取行动似乎会更好。
这似乎可以工作https://aws.amazon.com/blogs/mt/build-scheduler-as-a-service-amazon-cloudwatch-events-amazon-eventbridge-aws-lambda/,但我担心它是矫枉过正或者它不是一个完美的配合会遇到扩展问题。
【问题讨论】:
-
看看 temporal.io。它允许将您的用例建模为基于代码的工作流。
标签: amazon-web-services design-patterns architecture serverless system-design