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

Nic*_*ton 8 django web

我最近使用Django作为一个非常小的CMS风格的网站.我对开发Django项目的快捷方式印象深刻,我现在正在考虑将它用于一个更大的项目.

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

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

thr*_*xil 5

它很大程度上取决于你对"大"和"复杂"的确切含义.

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

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


bri*_*anz 5

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

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

我的答案是:如果你的网站要比Django(或任何其他框架,那个问题)更长,它取得了巨大的成功,你可能有足够的资金来雇用一个巨大的团队来重写整个事情.


drd*_*man 4

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

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

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