PHP/Ubuntu:密集的后台任务 - 单独的服务器,或者更大的单个服务器

PHP/Ubuntu:密集的后台任务 - 单独的服务器,或者更大的单个服务器

我在 AWS EC2 基础设施上管理一个 Ubuntu 16 服务器(运行一个公共网站)。

该网站有许多相当密集且定期的后台任务(通过 cron)需要执行,并且存在着当前资源超载的风险,从而影响最终用户/公众。

该数据库托管在 AWS RDS 上。

我不确定是否应该:

  1. 只需增加单个 EC2 上可用的资源(目前是 t2.small,因此资源真的很少)
  2. 启动一个单独的服务器,仅用于后台任务,因此后台任务在服务器上可能导致的任何延迟都不会影响最终用户(数据库在 RDS 上,因此设置起来相当容易)

我考虑设置 AWS 负载平衡和自动扩展,但遇到了两个问题:

  1. 扩展可能需要 60 秒以上,因此最终用户仍会遇到潜在的延迟
  2. 自动缩放组中的所有服务器都将相同,因此所有服务器都运行自己的常规后台任务实例,从而导致潜在的重复,更重要的是,每台服务器都不会更好,因为每台服务器仍然在执行单台服务器所要求的操作。

我倾向于使用单独的服务器来执行这些任务,因为这意味着如果服务器出现故障(或延迟),最终用户不会受到任何影响,这似乎是一个“整洁”的选择,但需要更多的管理和设置。拥有第二台服务器的成本不是问题。

所以我的问题是,你认为什么是最好的,为什么?我是否错过了更好的主意?

(注意:提高后台任务的效率不是一种选择!)

提前感谢 Rob

相关内容