关于web:Django应该用于大型复杂网站吗?

Should Django be used for large, complex sites?

我最近在一个非常小的CMS风格的网站上使用了django。我对开发Django项目的快速和简单印象深刻,所以现在我正在考虑将其用于一个更大的项目。

然而,在我对这个想法感到兴奋之前,我只想让开发了一个非常大的django网站的人来运行它(有很多特性,流量很大)。

别忘了,最近我主要使用的是C ASP.NET——有什么我应该知道的陷阱吗?


如前所述,它实际上取决于"大"和"复杂"的实际含义。如果你打算再建一个eBay,答案是"可能不会"。

这个问题问得很多。坦率地说,有很多答案。这条线很好。今年在Djangocon还举行了一次非常有人出席的关于扩大Django规模的演讲。不管您使用什么技术,您都需要设计您的站点,以便它能够扩展。

我的答案是:如果你的网站要超过Django(或者其他任何框架,就这点而言),那将是巨大的成功,你可能有足够的资金来雇佣一个庞大的团队来重写整个网站。


这将很大程度上取决于你所说的"大"和"复杂"是什么意思。

至于"复杂",请看一下Pinax。大量的功能都是由简单的Django应用程序连接在一起构建的,而且它仍然被认为是一个框架,可以作为构建社交软件站点的开始。但我敢肯定,你仍然可以想出一些"复杂"的版本,与Django的架构不太吻合。

处理大量流量和大型数据集是另一回事。归根结底,如果你足够大,姜戈是不会处理的。但实际上,任何框架都不会。Jacob Kaplan Moss(Django开发人员之一)有一篇很好的文章,概述了Web开发的历史,这导致了Django的位置。他为Django或任何其他框架不能同时在快速开发和大规模可扩展性方面表现出色做出了一个强有力的理由,但为什么从一个框架开始它仍然值得。基本上,没有两个高流量站点会有相同的可伸缩性问题:它们都需要一种定制的方法,专门针对它们必须处理的确切数据类型和流量。但是,由于很难准确预测这些瓶颈将出现在哪里,因此最好从快速开发框架开始,并在遇到需要时开始替换组件。


我发现这很有趣:http://softwaremaniacs.org/blog/2008/02/24/why-offline-crash-en/

这个博客里有很多有趣的文章,但不幸的是,它们都是俄语的。

补充:自从那篇文章伊万写了MySQL后端支持主从复制:http://softwaremaniacs.org/soft/mysql_replicated/en/