首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >构建可扩展的应用程序与仅构建云就绪应用程序

构建可扩展的应用程序与仅构建云就绪应用程序
EN

Stack Overflow用户
提问于 2013-05-02 15:33:51
回答 1查看 223关注 0票数 0

最近,我与一位被认为是经验丰富的架构师进行了一次讨论。讨论围绕着运行在Web Farm中的多租户基于Web的应用程序的理想架构和设计。该应用程序的唯一任务是允许用户上传“n”个Excel文件,系统正在处理这些文件以生成非常复杂的报告。处理这些文件需要很长的时间(每个文件需要一个小时,让我们将其作为约束)。因此,用户在上传后等待系统通知以下载生成的报告。

乍一看,需求看起来非常简单,但期望是应用程序必须是100%可伸缩的。我们与架构一起讨论了各种解决方案,但我们发现它并不令人满意。我需要从这个社区的成员提出解决方案与技术一起设计。这不是我的专业任务,但它只是一个调查,以了解架构师对构建可伸缩应用程序的看法,而不仅仅是云就绪应用程序,在这些应用程序中,扩展基础架构比关注应用程序可伸缩性更容易。

EN

回答 1

Stack Overflow用户

发布于 2013-05-03 01:57:11

用户可以通过该网站上传excel文件。他们的凭据也会被传递。后端在数据库中注册该请求,并返回请求id ( Guid或其他信息)。该过程将结束。

windows服务正在运行并轮询数据库,查找要处理的新请求。您可以使用Quartz.NET来调度多个并行作业来处理请求。这种请求处理(处理excel文件和生成报告)被委托给负载平衡的WCF服务,因此您拥有的WCF服务越多,可以调度的并行Quartz作业就越多。如果请求已被处理,则可以调度另一种类型的Quartz作业发送邮件。

该站点定期轮询以查看请求(或特定请求)的状态和进度;并对其进行管理。对于已完成报告的请求,可以下载报告。

我认为这是一个非常可扩展的解决方案,而且是松耦合的。

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

https://stackoverflow.com/questions/16332665

复制
相关文章

相似问题

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