【问题标题】:Moving long-delay queue from beanstalkd to AWS将长延迟队列从 beanstalkd 移动到 AWS
【发布时间】:2019-02-15 09:06:12
【问题描述】:

我现在正在将作业队列从本地 beanstalkd 服务器移动到 Amazon SQS。但问题是 SQS 只能有很短的延迟(15 分钟)。

在我的应用程序中,有数以千计的交易,我使用 beanstalkd 来使交易过期(即调用 api 将交易状态更新为已完成/失败)。

我可以使用任何服务/hacky 方式来处理这个用例吗?

谢谢

【问题讨论】:

  • 您的长期延迟期是多少?我们对 Beanstalkd 和在 Redis 上添加长期工作感到满意。效果惊人。
  • 周期大约是一周到1-2个月

标签: amazon-web-services beanstalkd job-queue


【解决方案1】:

我只是将长时间延迟事件的数据粘贴到数据库中,然后每隔约 10-15 分钟运行一次 cronjob 以吸收一组即将到来的作业并写入 SQS,然后再从数据库中删除.将需要考虑一些事情,即有多少人可以同时到达,并尽量避免将相同的作业读取两次,然后将它们再次插入 SQS。

虽然数据库不适合队列,但这主要是高交互性和快速周转的问题。我会将您的问题更多地归类为几周或更长时间后要解决的问题。

您甚至可以将一条常规消息放入队列中以获取下一批即将到来的作业。

【讨论】:

    猜你喜欢
    • 2015-09-30
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 2018-07-25
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多