我正在用Django构建一个web应用程序。我选择Django的原因是:

我想使用免费/开源工具。 我喜欢Python,觉得它是一种长期的语言,而对于Ruby,我不确定,而PHP似乎是一个巨大的麻烦。 我正在为一个想法构建一个原型,并没有过多地考虑未来。开发速度是主要因素,而且我已经了解Python。 我知道迁移到谷歌应用程序引擎将更容易,如果我选择这样做在未来。 我听说Django很“不错”。

现在我越来越接近于考虑出版我的作品,我开始担心规模问题。我找到的关于Django伸缩能力的唯一信息是Django团队提供的(我不是说什么要忽略它们,但这显然不是客观的信息…)

我的问题:

目前在Django上构建的“最大”站点是什么?(我主要通过用户流量来衡量规模) Django能每天处理10万名用户,每个用户访问站点几个小时吗? 像Stack Overflow这样的站点可以在Django上运行吗?


当前回答

扩展Web应用程序不是关于Web框架或语言,而是关于你的架构。 这是关于你如何处理你的浏览器缓存,你的数据库缓存,你如何使用非标准的持久性提供者(如CouchDB),你的数据库是如何调优的,还有很多其他的东西…

其他回答

如果你想使用开源,那么你有很多选择。但是python是其中最好的,因为它有很多库和一个超级棒的社区。 下面这些原因可能会改变你的想法:

Python is very good but it is a interpreted language which makes it slow. But many accelerator and caching services are there which partly solve this problem. If you are thinking about rapid development then Ruby on Rails is best among all. The main motto of this(ROR) framework is to give a comfortable experience to the developers. If you compare Ruby and Python both have nearly the same syntax. Google App Engine is very good service but it will bind you in its scope, you don't get chance to experiment new things. Instead of it you can use Digital Ocean cloud which will only take $5/Month charge for its simplest droplet. Heroku is another free service where you can deploy your product. Yes! Yes! What you heard is totally correct but here are some examples which are using other technologies Rails: Github, Twitter(previously), Shopify, Airbnb, Slideshare, Heroku etc. PHP: Facebook, Wikipedia, Flickr, Yahoo, Tumbler, Mailchimp etc.

结论是一个框架或语言不会为你做所有的事情。一个更好的架构,设计和策略会给你一个可扩展的网站。Instagram是最大的例子,这个小团队管理着如此庞大的数据。这里有一个关于它的架构的博客,一定要读。

YouTube的开发者倡导者在PyCon 2012上做了一个关于扩展Python的演讲,这也与扩展Django有关。

YouTube拥有超过10亿用户,而YouTube是建立在Python之上的。

是的,它可以。它可以是Django with Python或Ruby on Rails。它仍然会缩放。

有几种不同的技术。首先,缓存不是可伸缩性。除了硬件平衡器之外,还可以有多个应用服务器以nginx作为前端平衡。 为了在数据库端扩展,如果你走RDBMS的路,你可以在MySQL / PostgreSQL中使用读从。

Django中一些大流量网站的例子如下:

当他们还在那里的时候。 通用共享评论管理器 所有与报纸相关的网站:《华盛顿邮报》等。

你会有安全感。

我所知道的最大的django网站是华盛顿邮报,这肯定表明它可以很好地扩展。

好的设计决策对性能的影响可能比其他任何东西都要大。Twitter经常被认为是另一个基于动态解释语言的web框架——Ruby on Rails——体现了性能问题的站点——但Twitter工程师表示,该框架并不像他们早期所做的一些数据库设计选择那样是个大问题。

Django可以很好地使用memcached,并提供了一些管理缓存的类,这可以解决大部分性能问题。在现实中,你在网络上交付的东西几乎比你的后端更重要——使用像yslow这样的工具对于高性能web应用程序来说是至关重要的。你可以在后台添加更多硬件,但你不能改变你的用户带宽。

今天,我们使用许多网络应用程序和网站来满足我们的需求。其中大部分是非常有用的。我将向你展示一些python或django所使用的。

华盛顿邮报》

《华盛顿邮报》的网站是一个非常受欢迎的在线新闻来源,以配合他们的日报。它的大量视图和流量可以被Django web框架轻松处理。 华盛顿邮报- 5220万独立访客(2015年3月)

NASA

美国国家航空航天局的官方网站是关于他们正在进行的太空探索的新闻、图片和视频的地方。这个Django网站可以轻松处理大量的浏览量和流量。 月访问量200万人次

《卫报》

卫报是卫报媒体集团旗下的英国新闻和媒体网站。它几乎包含了《卫报》和《观察家报》的所有内容。这些巨大的数据是由Django处理的。 卫报(评论系统)- 4600万独立访问者(2014年10月)

YouTube

我们都知道YouTube是一个上传猫咪视频的地方,但失败了。作为现存最受欢迎的网站之一,它为我们提供了无穷无尽的视频娱乐。Python编程语言为它和我们喜爱的特性提供了支持。

DropBox

DropBox开启了在线文档存储革命,并已成为人们日常生活的一部分。我们现在几乎把所有东西都存储在云端。Dropbox允许我们使用Python的强大功能来存储、同步和共享几乎任何东西。

调查猴子

Survey Monkey是最大的在线调查公司。他们可以在重写后的Python网站上每天处理超过100万条回复。

Quora

Quora是在线提问和从个人社区获得答案的首选网站。在他们的Python网站上,相关的结果由这些社区成员回答、编辑和组织。

Bitly的

Bitly URL缩短服务和分析的大部分代码都是用Python构建的。他们的服务每天可以处理数以亿计的事件。

Reddit

Reddit被称为互联网的头版。它是基于数千种不同类别的在线查找信息或娱乐的地方。帖子和链接是用户生成的,并通过投票提升到顶部。Reddit的许多功能都依赖于Python。

Hipmunk

Hipmunk是一个在线旅游网站,通过比较顶级旅游网站来为你找到最优惠的价格。这个Python网站的工具可以让你找到你的目的地最便宜的酒店和航班。

点击这里了解更多: 25-of-the-most-popular-python-and-django-websites, What-are-some-well-known-sites-running-on-Django