【发布时间】:2015-07-23 00:44:38
【问题描述】:
要求:我需要创建一个后台工作程序/任务,它将以一定的时间间隔(即 10 秒)从外部源(消息队列)获取数据并更新数据库。需要24小时不间断运行。一个 ASP.NET 应用程序正在将数据放入消息队列。
可能的解决方案:
-
带计时器的 Windows 服务
- 优点:减轻 Web 服务器的负载
- 缺点:单独的部署开销,没有负载平衡
-
使用此处描述的方法之一:background task
- 优点:无需分离部署,可以进行负载平衡 - 如果一台服务器出现故障,另一台服务器可以将其接起
- 缺点:网络服务器的开销(但是,在我的情况下,最多 100 个并发用户并且看到网络服务器资源未得到充分利用,我认为这不是问题)
问题:推荐的解决方案是什么?为什么? 我正在寻找基于 .net 的解决方案。
【问题讨论】:
-
我会选择选项 1。为什么?在做出选择时,您会考虑很多因素。也许它并不重要,但你可以将 Web 服务器推到其他组件中的负载越多,你的 Web 服务器响应请求的速度就越快。
-
@Mick 谢谢。我在您的回复后详细说明了我的问题。请看一看。
标签: asp.net .net architecture