如何制作具有成本效益但可扩展的网站?

时间:2010-06-20 05:58:02

标签: python lamp

门户技术评估,我们将为校园和行业创建一个安置门户,以帮助安排学生。该门户网站将处理大量数据和人员登录,并发模式下每天约1000名用户。

我应该使用什么技术? PHP与CakePHP作为框架,Ruby on Rails,ASP.NET,Python,还是应该选择云计算?哪些是最具成本效益的?

2 个答案:

答案 0 :(得分:2)

任何这些都可以,它真的取决于你所知道的。如果您对Python感到满意,请使用Django。如果你喜欢Ruby,请选择ROR。这些现代框架是按比例建立的,假设您不打算在facebook上开发某些东西,那么它们就足够了。

我个人建议nginx作为主服务器来托管静态内容,并可能反向代理到Django / mod_wsgi / Apache2。

另一个重要方面是缓存,请确保使用类似memcached的内容,并确保框架具有某种插件或者可以轻松连接。

答案 1 :(得分:1)

语言选择很重要,因为您必须选择您和您的团队最满意的语言,因为您必须开发中型大型应用程序。当然使用Python的框架它必须是Django,使用ASP.NET .NET或MVC.NET,无论你对Ruby ROR和PHP有什么好处,都有太多的框架。

1000个并发用户并不多,特别是它取决于用户将做什么。用户将获得大量数据的地方最好使用您想要的任何缓存引擎进行缓存。您需要设计应用程序,以便在真正的数据库调用和缓存调用之间轻松切换。为此,如果需要,像Logins这样的数据对象会创建一个Object数组。用户登录时保存一些信息,例如他上次登录,密码以防他想要更改密码,发送电子邮件等,这样你就可以在阅读模式下选择较少的DB(选择查询)。

使用cookie less domain来获取静态内容,例如images,js和css文件。在这个域上设置最快的系统,你可以使用最简单的服务器,可能是基于Linux的东西。

对于服务器,最好的建议是使用vmware或其他基于Linux的解决方案来获取大型机器并设置虚拟盒,或者获得更好的服务器,因为如果在大型服务器上,如果其中一个服务器关闭,则会丢失所有内容你还可以做些什么。特别是如果你设置铁路模式。铁路模式很简单,您可以在一台服务器上设置应用程序服务器(IIS或Apache),并在同一服务器上设置SQL并使其成为从属服务器时使其成为主服务器。在其他服务器上,您将SQL设置为主服务器,将Application服务器设置为从服所以服务器一个服务于IIS / Apache和其他一个SQL,如果一个下来你只需要在host.etc中更改行以便在其他地方设置一些东西(我不知道如何在Linux中这样做)。 静态内容的最后一个服务器。

云计算,您将根据需要使用它。例如,您将与某些应用程序共享资源,例如用于jquery和jqueryUI的Google API,但是您创建了独特的应用程序,我不相信使基于云计算的应用程序核心会有任何好处。使用大型网站的CDN。