当前位置: 首页 > 面试题库 >

Django可扩展吗?

高德水
2023-03-14
问题内容

我正在使用Django构建Web应用程序。我选择Django的原因是:

  • 我想使用免费/开源工具。
  • 我喜欢Python,并认为它是一种长期的语言,而对于Ruby,我不确定,PHP似乎是一个学习的巨大麻烦。
  • 我正在为一个想法构建原型,并且对未来没有太多考虑。开发速度是主要因素,我已经了解Python。
  • 我知道,将来选择迁移到Google App Engine会更容易。
  • 我听说Django很“不错”。
    现在,我开始考虑发布作品了,我开始担心规模。我发现的有关Django扩展功能的唯一信息是Django团队提供的(我并不是说要忽略它们,但这显然不是客观信息…)。

我的问题:

  • 今天在Django上构建的“最大”网站是什么?(我主要通过用户流量来衡量规模)
  • Django是否可以每天处理100,000个用户,每个用户访问几个小时?
  • 像Stack Overflow这样的网站可以在Django上运行吗?

问题答案:
  1. “当今在Django上建立的最大的网站是什么?”

没有一个地方可以收集有关Django构建的网站上的流量的信息,因此我将不得不使用来自不同位置的数据来刺探它。首先,在Django项目主页的首页上有Django站点列表,然后在djangosites.org上有Django构建的站点列表。浏览列表并选择一些我知道流量不错的网站,我们看到:

  • Instagram: Instagram的强大力量:数百种实例,数十种技术。

  • Pinterest:2013年 Alexa排名37(21.4.2015)和7000万用户

  • Bitbucket: 200TB代码和2.500.000用户

  • Disqus:用Python为4亿人服务。

  • curse.com:每天有60万访问量。

  • tabblo.com:每天访问量为44k,请参阅Ned Batchelder的帖子现代网站的基础结构。

  • chesspark.com: Alexa的约179K排名。

pownce.com(不再活动): alexa排名约65k。Pownce的Mike Malone在关于扩展Django Web Apps的 EuroDjangoCon演讲中说“每秒数百次点击”。这是一个很好的演示,介绍了如何扩展Django,并指出了包括(当前)Django可伸缩性缺点在内的一些优点。

惠普有一个使用Django 1.5:ePrint center构建的网站。但是,对于novemer / 2015,整个网站已迁移,此链接只是重定向。该网站是一项全球服务,参与了HP提供的Instant Ink和相关服务的订阅(*)。

  1. “ Django每天可以处理100,000个用户,每个用户访问几个小时吗?”

是的,请参见上文。

  1. “像Stack Overflow这样的网站可以在Django上运行吗?”

我的直觉是肯定的,但是,正如其他人回答并且Mike Malone在演讲中提到的那样,数据库设计至关重要。如果我们可以找到任何可靠的流量统计信息,也可以在www.cnprog.com上找到有力的证明。无论如何,将一堆Django模型放在一起不仅仅是发生的事情:)



 类似资料:
  • 8.1. 定义访问令牌类型 8.2. 定义新的端点参数 8.3. 定义新的授权许可类型 8.4. 定义新的授权端点响应类型 8.5. 定义其他错误代码

  • 通过使用绝对URI作为令牌端点的“grant_type”参数的值指定许可类型,并通过添加任何其他需要的参数,客户端使用扩展许可类型。 例如,采用[OAuth-SAML]定义的安全断言标记语言(SAML)2.0断言许可类型请求访问令牌,客户端可以使用TLS发起如下的HTTP请求(额外的换行仅用于显示目的): POST /token HTTP/1.1 Host: server.example.com

  • 我需要减少从Optaplanner获取结果的延迟。是否可以跨集群中的多个实例(和/或机器)运行作业?我似乎找不到实现这一目标的任何信息/尝试。

  • 有两种方法可以定义访问令牌类型 - 通过在访问令牌类型的注册表中注册。 通过使用唯一的绝对URI(统一资源标识符)作为其名称。 定义新的端点参数 参数名称必须遵守参数名称ABNF(Augmented Backus-Naur Form是一种基于Backus-Naur形式的元语言,由其自己的语法和派生规则组成),参数值的语法必须明确定义。 param-name = 1* name-char name-

  • 问题内容: 我想在2个不同的基本文件中提供相同的内容。 所以我正在尝试这样做: page1.html: page2.html: 问题是我似乎无法同时使用扩展和包含。有什么办法吗?如果没有,我该如何完成以上工作? commondata.html覆盖base1.html和base2.html中指定的块 这样做的目的是提供pdf和html格式的同一页面,但格式略有不同。上面的问题虽然简化了我要尝试做的事

  • 问题内容: 有没有一种方法可以扩展内置的Django Group对象以添加其他属性,类似于可以扩展用户对象的方法?使用用户对象,你可以执行以下操作: 并将以下内容添加到settings.py文件中 这使你: 扩展小组有什么等效方法吗?如果没有,我是否可以采用其他方法? 问题答案: 你可以创建一个对Group进行子类化的模型,添加自己的字段,并使用模型管理器返回所需的任何自定义查询集。这是一个截断的