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

时间:2009-09-28 13:41:48

标签: django web

我最近将Django用于一个非常小的CMS风格的网站。我对开发Django项目的速度和容易程度印象深刻,我现在正在考虑将它用于一个更大的项目。

然而,在我对这个想法感到兴奋之前,我只是想让那些真正开发了一个非常大的Django网站(具有很多功能和高流量)的人来运行它。

记住,最近我主要使用C#Asp.Net - 我应该知道有什么陷阱吗?

3 个答案:

答案 0 :(得分:5)

这很大程度上取决于你对“大”和“复杂”的确切含义。

就“复杂”而言,请看看Pinax。大量的功能都是由简单的Django应用程序构成的,它们仍然被认为是一个框架,您可以将其用作构建社交软件站点的开始。但我相信你仍然可以提出一些与Django架构不相符的“复杂”版本。

处理大量流量和大型数据集是另一回事。最终,如果你变得足够大,Django将无法处理它。但实际上,任何框架都不会。 Jacob-Kaplan Moss(django开发者之一)a great article概述了导致Django所在的Web开发历史。他提出了一个非常有力的理由,说明为什么Django或任何其他框架无法在快速开发和大规模可扩展性方面表现出色,但为什么它仍然值得一开始。基本上,没有两个高流量站点会出现相同的可扩展性问题:他们都需要一种特定于他们必须处理的确切数据类型和流量的自定义方法。但由于很难准确预测这些瓶颈的位置,因此从快速开发框架开始并在遇到需求时开始更换组件是个好主意。

答案 1 :(得分:5)

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

这个问题是很多。坦率地说,那里有很多答案。 This thread非常好。今年在DjangoCon上也有一个非常出色的演讲Scaling Django。无论您使用何种技术,都可以自行设计您的网站,以便进行扩展。

我的回答是:如果您的网站将超过Django(或其他任何框架),那么巨大的成功并且您可能有足够的资金来雇用一个庞大的团队重写整个事情。

答案 2 :(得分:4)

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

这篇博客中有很多有趣的文章,但不幸的是,它们都是俄文版。

补充:自从那篇帖子以来,Ivan确实编写了支持主从复制的MySQL后端:http://softwaremaniacs.org/soft/mysql_replicated/en/