4

我的任务是使用 ASP.net 和 C# 开发大型社交网络应用程序,如 Facebook、Twitter 等

在此之前,我的开发基于三层架构(即表示层、业务逻辑层和数据访问层),但对于这个项目,我很困惑,因为它是我的第一个大型项目:(

我只想知道我还有哪些其他可能的架构选择?

我知道这样的问题很难回答,但我只想拥有好的资源,然后我研究每个可能的选项,最后选择一个适合我要求的选项。我在互联网上做了一点 RnD,但没有成功。

4

4 回答 4

2

您应该查看 Windows Azure。它提供托管、3 种类型的可扩展(但不是关系)存储,形式为 Blob(或文件/图像/原始)、队列(用于分布式通信)和表存储(以非关系方式维护“实体”数据)。

还有用于关系存储的 SQL Azure 和用于混合(本地/云)应用程序可寻址性的 AppFabric 和用于基于声明的身份管理的访问控制。

它具有内置诊断功能,如果您了解 C#/ASP.NET/ASP.NET MVC,则无需任何新技能即可利用该平台。它也适用于 Java 和 PHP。

windows.azure.com

于 2011-07-01T05:47:32.950 回答
1

就架构而言,您仍然可以维护您的 3 层。您想要做的是轻松扩展您的数据库读取,并且最好有一个缓存层,如 memcached 或 membase。Facebook、YouTube 和基本上所有其他高流量应用程序都使用这些缓存。

之后,它正在优化页面加载和交付时间——这是一项广泛的任务,但也比试图弄清楚如何修改具有 1 亿条记录的表要容易得多。

于 2011-07-01T05:54:48.527 回答
1

我会选择面向服务的架构。良好服务器上的所有业务逻辑和 DAL 执行所有时间和资源消耗操作、逻辑。Microsoft Team 的最佳实践和模式为我们详细阐述了所有架构模式。阅读 Web Service Software Factory 并选择它来执行 BLL 和 DAL,并简单地从托管网站的服务器调用服务。在另一台服务器上,您应该放置表示层 - 页面。
这将放弃以下好处:
1. 最佳实践和架构
2. 如果您与其他人一起开发,您可以轻松拆分工作。
3.性能,所有工作都在服务器上完成。
这些都是主要观点,绰绰有余。

问候,
塞尔吉乌。

于 2011-07-01T14:43:00.777 回答
-1

我认为要设计大型 Web 架构不仅要性能,还必须放宽视野,资源、数据架构,易于重构并且可以查看不同的处理服务(多层),请参阅我关于使用 javascript 的大型 Web 架构的博客文章. http://faizalpribadi.github.io/web-architecture-for-large-scale-application/

于 2016-03-12T19:13:12.137 回答