我正在开发一个基于web的应用程序,其主要目标是从数据库获取数据,在UI上显示它,接收用户输入并将它们写回数据库。该应用程序不会做任何工业强度算法研究,但将在高峰时间(下面描述)接收非常高的点击次数,这将在一天中改变...确定一个n层应用程序中的层数
这些图层是你典型的演示文稿,业务,数据。数据库由数据库服务器负责。业务层将包含通过tcp访问数据库服务器的DAL组件。我必须将这些层分成层次的选择是:
的表现层和业务层可以是保持同一 层。
独立层上的表示层本身和独立层上的业务层 本身。
在选择2的情况下,业务层将由表示层使用WCF服务通过http或tcp访问。
我在业务层看不到任何繁重的处理,所以我倾向于上面的选项1。我也觉得出于同样的原因,增加一个新层只会引入网络延迟。但是,就可扩展性而言,如果我需要扩展或扩展,这是更好的方法吗?此应用程序需要能够支持每小时600万用户。每个用户会话中都会有合理数量的数据,存储用户的偏好和其他详细信息。我将使用页面级缓存以及..
感谢您的时间...
嗨乔希,我更新了我的问题...不需要歉意:)我只是想另一种意见,为什么我应该真的有一个“应用层”在不同的服务器上... – user20358 2012-03-20 12:59:22
@ user20358我的答案仍然是相同。想想如何构建stackoverflow。你预计是否有类似的流量?每小时从哪里获得6M用户?扩展更多的服务器,而不是更多的组件。像redis一样使用缓存。在某些情况下,您可能需要n层,例如集成不同组件。但是如果你从头开始构建所有东西,我认为它不太可能。 – 2012-03-20 13:03:05
是的,我期待着类似的,如果不是更多的......没有详细介绍这个应用程序(我已经为这个项目签署了一个非公开的东西),这个数字是由客户给我们的。虽然它是一个具有合理数量的业务层处理的垃圾邮件应用程序,但它同时并不太强烈。 – user20358 2012-03-20 13:08:12