我有一个在 AWS Elastic Beanstalk 上运行的 Express + MongoDB 应用程序。
有时,来自客户端的请求需要服务器发出第三方 API 请求。对于来自客户端的每个这样的请求,我们可能需要执行多达 500 个任务。每个任务都包含对第三方 API 的两个链式请求。如果链中的任何请求失败,我们希望在 5 分钟内重试(但我们不想用两个请求重试整个链,如果链中的第一个请求成功,我们希望继续执行链中的第二个请求,链中的第二个请求取决于第一个请求的响应)。
我可以使用什么样的技术来建立这个逻辑?
现在我正在考虑使用与 Redis 一起使用并允许设置延迟作业的 Bull npm 包。为了在 AWS Elastic Beanstalk 上使用 Redis,我计划设置 Elastic Cache,这可能是一项在 AWS 上运行 Redis 的服务,并允许我们从 Elastic Beanstalk 内部运行的应用程序中使用它。这有什么意义吗?