首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >托管在AWS上的.NET Core的BackgroundServices的最佳实践

托管在AWS上的.NET Core的BackgroundServices的最佳实践
EN

Stack Overflow用户
提问于 2022-05-24 08:28:26
回答 1查看 333关注 0票数 0

目前,我的web构建在ASP.NET Core5WebApi之上,并且它是托管在AWS (Fargate)上的。将来,它计划扩大规模。现在存在对BackgroundService的需求,因为一个API端点必须生成一些需要上传到多个感兴趣方的报表,因为报表生成和发送到3个不同的端点可能需要5-10秒甚至更长的时间,而API的客户端对这些操作的结果不感兴趣。

我的方法是:在Report表中创建列(SentTo1Side、SentTo2Side、SentTo3Site),然后使用后台服务“收集”以前放入队列的AWS队列中的消息,而web的客户端调用我的端点。发送后,我从队列中删除消息并更新SentToXSide列

我的问题是:

应该扩展我的web以使多个后台服务同时运行吗?我想是的。如何防止多个报告被发送到客户端。这就是我使用AWS Sqs的原因--在我的情况下可能甚至不需要这样做,因为我可以循环遍历数据库行来查看哪些报告没有发送)。

EN

回答 1

Stack Overflow用户

发布于 2022-05-24 09:03:01

在完美的场景中,您将根据吞吐量扩展后台服务(worker)。SQS可以确保一个作业被处理一次,当发生问题时,该作业将被重新处理。

应该扩展我的web,使多个后台服务同时运行?不,应该是由所需工作量引起的,因为处理请求可能比处理作业更快。

如何防止多个报告被发送到客户端。如果您做得对,会为您处理这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72359606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档