【问题标题】:Web application architecture questionWeb应用架构问题
【发布时间】:2011-06-11 14:41:09
【问题描述】:

我们正在计划开发一个中大型网络应用程序

  • 主要是 CRUD 操作
  • 报告
  • 内联网/互联网就绪

有人想将应用程序拆分为两个单独的解决方案

  1. ASP.NET Web 应用程序 - 前端
  2. 核心应用程序 - 数据访问、域逻辑.. 托管在 Windows 服务中

通过WCF(tcp,命名管道)实现通信

我想知道这个解决方案的优缺点是什么?

我主要担心开发过程会变得复杂。所有这些都通过 WCF 进行通信。

您能否分享一些想法或您对类似项目有什么经验?

【问题讨论】:

  • 请定义中/大。预期流量是多少?拥有层分离逻辑并使其更容易添加,例如之后缓存为新层。
  • 让我们从 100 个并发用户开始。但有增长的潜力......
  • 你可以看看这个,类似的话题stackoverflow.com/questions/527052/…

标签: .net wcf web-applications architecture


【解决方案1】:

这是看待它的一种方式,但如果您以“标准”n 层方式编写应用程序,以便 Web 前端不依赖后端的具体类,您“可以”将如果需要,稍后会执行此操作,但“以防万一”提前执行会为您的系统增加很多复杂性。

另一种方法是能够将您的应用程序放在具有负载平衡器的网络场中 - 这可以降低您的代码复杂性并允许您根据需要进行横向扩展。

(我还要注意,100 个并发用户并没有那么大)。

【讨论】:

  • 能否请您更具体地了解网络农场的内容?
  • 好的,对于扩展,您可以像往常一样编写 n 层应用程序,并将数据库放在单独的服务器上。如果负载确实增加了,您可以将您的网站放在一个网络场中,在负载均衡器后面有许多 Web 应用程序服务器 - 这使您可以轻松扩展您的网站,同时仍然保持简单的代码。
  • 我要注意,在这种情况下,您需要考虑会话(InProc 会话在这种情况下不好)和缓存等,但这都是可行的。
  • 这种方法只有在层之间的服务分离(WCF)下才有可能?
  • 不,这种方法是为了避免服务分离的需要,因为它增加了复杂性。您的所有代码都在同一个盒子上运行,但您有多个盒子。
猜你喜欢
  • 2015-08-18
  • 2011-08-06
  • 1970-01-01
  • 2011-03-11
  • 2012-06-14
  • 2015-07-14
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
相关资源
最近更新 更多