我目前正在使用c#构建ASP.NET MVC web应用程序。构建一个可伸缩的ASP.NET MVC Web应用程序
我想确保这个应用程序构建,以便它可以在未来进行扩展,而无需主要再保。
我在使用某种队列张贴任何写入我的数据库基础,并有一个过程,即排队投票异步执行更新相当激烈。一旦这些数据被发回数据库,客户端就需要用新的信息进行更新。这意味着将数据写回数据库的过程可能需要很短时间,这取决于服务器上执行的业务规则。
我的问题是从客户\浏览器的角度处理更新的最佳方式是什么。
我一起发布的数据传回服务器并将其添加到队列,并立即在某些频率发送到客户端的响应,然后查询以获得更新的数据线的想法。任何最佳做法或模式,将不胜感激。
另外在从数据库中读取数据方面会建议使用任何特定的技术或将读取直接从数据库足以给我的方案。
更新 以为我会发布更新,因为它已经有一段时间了。我们实际上已经结束了使用Windows Azure,但该解决方案适用于其他平台。
我们最终做的是使用Windows Azure队列发送消息\命令。这是一个非常快速的过程,并立即返回。然后我们有一个工作者角色在另一个线程上处理这些消息。这使我们能够最大限度地减少任何数据库写入\对Web角色的更新理论上允许我们更容易地扩展。
我们处理通过电子邮件取决于我们正在处理的数据类型通知用户,甚至默默。
我的第一个问题就是为什么你想让数据库写入异步,如果你让用户等待结果写入? – 2009-05-27 15:29:06
我的问题是可能存在一段时间内运行的业务规则,类似于db触发器。虽然对于少数用户来说这可能是好的,但我认为这是瓶颈,可能会导致用户请求在客户端超时,这是我想避免的。 – gsobocinski 2009-05-27 15:43:22