我一直在构建应用程序/网络应用程序已经有一段时间了,我想我构建的大部分内容都是基于简单的原则,即尝试保持松散耦合,使用行业标准技术等等。
我尝试跟随尽可能多的关于架构的科技博客,以及网站如何扩展(Facebook等)。
目前,我正在尝试使用在Windows 2008 R2上运行的.NET / C#来衡量构建高可用性站点的要求/组件/工具。正如标题中所提到的,我只是试图获得一个顶级/ 30,000英尺的“零件”的视图。例如,我(为了论证)不担心我是否会将SQL 2008或mySQL用于数据存储区,以及mongoDB等是否会起作用。
我想是什么促使我添加这个问题是我已经编写了一些运行良好的网络应用程序,但是在一些基于社交网站的用户/操作数量附近处理不了。例如,这是非常广泛/概述的东西,到目前为止我一直在使用的结构:
我意识到上面只是一个基本视图,但它工作得相当好...... ASHX页面提供了一种与JQuery ajax调用交互的轻量级方法,到目前为止,企业库中的数据访问块(5.0版) ,使调用DB变得简单而且通常很快。
所以我在这之后会怎样......
嗯,鉴于上述情况,我有点知道构建某种基于社交的网络应用程序(为了论证,让我们说一个非常迷你版的facebook)需要有一些基本结构,如:
我想我读过stackoverflow.com等使用.NET技术的地方..我猜我所追求的是一些适用于.NET世界的起点/阅读材料(我意识到会有很多* nix人们搅拌..我想说我不会对学习任何新东西感到不利,但是现在我的技能主要是.NET)。
希望这种方式有道理,有点絮絮叨叨,但随时可以评论以获取更多信息。
提前致谢。
大卫。
答案 0 :(得分:2)
听起来你已经做了很多关键的架构决策 - 无论如何都围绕着技术。
我想说你选择的任何平台/技术都可以使用;就像任何可以被歪曲和搞砸一样。
存储过程有利于提高速度 - 它们也是一种很好的安全措施。
我建议你正式制定你的解决方案架构 - 记录它会帮助那些追随你的人(或者经过一段时间后你自己),并且记录它的过程将有助于你的思考过程。
要包括的关键事项:
一旦你完成了这个,就应该更容易做出决定;有时你可能已经知道了答案 - 但不是那么清楚,写下来可能有所帮助。