【发布时间】:2011-04-28 21:27:15
【问题描述】:
我一直在构建应用程序/网络应用程序,我猜我构建的大部分内容都是基于简单的原则,即尽量保持松散耦合,使用行业标准技术等等。
我会尽可能多地关注有关架构以及网站如何扩展(Facebook 等)的技术博客。
现在我正在尝试评估使用在 Windows 2008 R2 上运行的 .NET/C# 构建高可用性站点的要求/组件/工具。正如标题中提到的,我只是想从顶层/30,000 英尺的角度了解“零件”是什么。例如,我(为了争论)不担心我是否将使用 SQL 2008 或 mySQL 作为数据存储,以及 mongoDB 等是否发挥作用。
我想促使我添加这个问题的原因是我一直在编写一些运行良好的网络应用程序,但处理的用户/操作数量远不及一些基于社交的网站。例如,这是非常广泛/概述的东西,到目前为止我一直在使用的结构:
- 使用存储过程的 SQL 2008 后端数据存储
- MS Enterprise Lib/数据块/缓存等形成“业务对象”层 如果你愿意的话。
- 用作前端处理程序的 ASHX 页面
- JQuery / Javascript 前端 - 使用 XML(虽然最近有一些 JSON)来获取 从中间层到前端的数据
我意识到以上只是一个基本视图,但它的工作相对较好.. ASHX 页面提供了一种与 JQuery ajax 调用交互的轻量级方法,到目前为止,企业库中的数据访问块(版本 5.0) ,使调用数据库变得简单、快捷,而且通常很快。
那么我在这里之后是什么......
好吧,鉴于上述情况,我有点知道构建某种基于社交的网络应用程序(为了论证,我们假设一个非常迷你的 facebook 版本)需要具备某些基本结构,例如:
- 缓存(即 memcache 等?)
- 排队机制,因此您可以将冗长的进程移交给后台任务
- 快速数据访问技术.. 存储过程是最好的方法吗?
我想我在某处读到 stackoverflow.com 等使用 .NET 技术。我想我所追求的是一些适用于 .NET 世界的起点/阅读材料(我意识到会有很多 * nix 人们在流失.. 我想说我并不反对学习任何新东西,但现在我的技能主要是 .NET)。
希望这种说法有意义,有点啰嗦,但请随时发表评论以获取更多信息。
提前致谢。
大卫。
【问题讨论】:
标签: .net web-applications architecture