AWS 上的 Redis 任务

AWS 上的 Redis 任务

我有一个 API,它有一些繁重的处理端点。为了避免出现问题,我使用 redis 创建了一个队列系统。

现在我将这个 API 放入一个 docker,并且我正在使用 ECS 部署服务,该服务创建一个使用 API 加载 docker 的任务。但是,在引入我读到的 docker 时,我必须使用 Redis 创建一个新 docker。现在,我的问题是:

谁将在这里进行繁重的处理? redis docker,对吧?我之所以问这个问题,是因为我必须为 ECS 中创建的每个任务分配所需的 CPU 和 RAM 量,并且我想知道是否无法为它们分配任何资源,以便每个任务都能使用它们所需的资源,或者我是否必须分配一个最小值,哪个任务应该具有更多的权限。

答案1

带有API的实例通过celery连接到Redis实例,该实例是具有工作者执行后台操作的服务。

Redis 只是一个数据库,不执行任何操作。一切都在 celery 所在的实例中完成。但是,Redis 将所有内容保存在 RAM 中,因此每次调用和每个结果都必须在一段时间后清除。特别是如果您的 API 要求文件。否则 Redis 实例将失败。仅使用 1 个 Redis 实例并从您需要的尽可能多的 api 实例连接到它。

相关内容