【发布时间】:2012-11-01 06:01:33
【问题描述】:
我正在开始一个新项目(非公司),我想知道现在如何成为一个伟大的架构。
我现在打算使用:
- ASP.NET MVC 4.0
- SQL Server 2008 或 2012
- .NET 4.5 下的 EF 5.0,带有 Dapper
- Repository模式的实现(这个http://code.google.com/p/ef4prs/)
- DI 与Autofac
- 自动映射器
- WCF 服务层(用于未来的移动实施)
检查流程(如果有问题请纠正我):Controller 调用 ApplicationService,调用 BusinessLayer,调用 DAL 与 UnitWork/Repository,通过 EF 或 Dapper 执行查询(从 Repository 的特定方法查询 Dapper 是否正确?),然后是结果自动映射到 DTO 并返回到 Controller,将所需内容复制到 ViewModel 并返回 View。
这里的问题是性能,正如我所说,该网站计划有高流量。 在这种情况下,上面列出的任何项目都会降低性能吗?还是这种组合泄漏了更多东西? 我应该丢弃 EF,只使用 Dapper 吗? 恐怕服务层会因为流量而降低性能。
最后,我不知道这种架构是不必要的,还是很差。
这是很多问题,但重点是了解适合中型网站的出色而不是“过度架构”的解决方案。
对不起英语
【问题讨论】:
-
您需要更具体地了解“高流量”。数万/数十万、数百万、数千万等浏览量/天?什么样的硬件/云资源会托管这个?
-
看起来更像是serverfault.com 之类的问题。服务器故障适用于需要以专业身份管理计算机系统的专家解答的信息技术专业人员。
-
@BrunoVieira 他在问什么软件堆栈是合适的,这可能比 serverfault 更适合它。
-
“最佳”将是一个见仁见智的问题,也许可以改写您的问题以关注每种技术的性能影响
-
@R0MANARMY,现在重要的是该软件已准备好每天进行数十万次观看。硬件不是我的事,以后会根据需要进行更改(可能是云)。
标签: asp.net-mvc performance architecture