我的任务是呈现包含复杂图表、SVG 图像、表格和其他数据的大型复杂 PDF 报告。处理 1 个请求最多需要 10 分钟才能执行。有时我们必须在有限的时间范围内处理数百个这样的请求。执行这项工作的网络应用程序当前托管在单台机器上。服务是完全无状态的。一台机器上的并行几乎没有影响,所以我们正在寻找水平扩展它的方法。
我使用 AWS 来托管我们的服务。目前我正在考虑将带有此服务的 EC2 实例包含到手动或自动扩展组中,以便运行所需数量的实例。我还考虑添加一个可以承载所有请求的队列。这样所有实例都可以使用 1 个队列,并且每个实例都可以处理自己的请求(处理请求 = 呈现 1 个 PDF 报告)。
您能否推荐一些使用 AWS 为无状态 .NET 应用程序扩展 CPU 密集型工作的开箱即用方法/最佳实践。
先感谢您!