著名网站使用什么托管/数据库配置?

著名网站使用什么托管/数据库配置?

只是想知道著名网站使用什么托管配置..例如:

  1. Facebook.com 使用共享 PHP/mysql 托管

  2. php.net 使用私有 Apache/PHP/Mysql 托管,运行 3 个私有 3Ghz/8 GB ram 服务器。Mysql 用作键/值数据库,无需连接即可提高速度。

(我知道这些不是真正的规格,它们只是一个例子)

这可以帮助我们更好地了解顶级网站的用途,并将这些知识应用到我们自己的网站。

答案1

@TomTom,你的逻辑完全错误。

Facebook 的平均工资为每年 98,000 美元,考虑到税收和福利,我们将使用每位员工 117,000 美元的基本成本,不包括办公空间、基础设施、工作站等。Facebook 使用 COTS 机器,假设每台机器 2,000 美元,包括交换机端口、电源等。我们将每台机器的使用寿命指定为 2 年,因此,每两年每位雇用的程序员可以购买 117 台机器。

HipHip 降低了每台服务器的计算要求,但这并不意味着他们减少的硬件预算对他们的招聘能力有任何实质性的影响。HipHop 只是帮助扩大规模,使他们现有基础设施的容量增加了 35%。根据 Facebook 关于 HipHop 的说法,你的说法是他们可以再雇佣 300 名员工。如果 Facebook 不每两年更换一次服务器,这个数字肯定会变得更糟——我们知道他们不会这样做。HipHip 的开发不是为了让他们雇佣更多的员工,而是为了防止大量的服务器需求,这会增加许多其他扩展问题。

根据今年 5 月谷歌上一次公开声明,该公司拥有 47 万台服务器。这是在他们最近开放的数据中心之前,这些数据中心通常包含 8 万到 10 万台服务器。谷歌目前的扩展问题是 map/reduce 作业被限制在一个数据中心,这意味着他们需要解决的任何问题都只能一次访问 8 万到 10 万台服务器。这一限制充分说明了他们的数据挖掘需求。

正如 3molo 提到的,highscalability.com 包含有关许多高流量站点基础设施的文章、故障分析和有根据的猜测。

扩展的第一条规则是,设计需要扩展的东西,然后解决这个问题。我在网上读到一句话:“从一台服务器扩展到两台服务器比从两台服务器扩展到三台服务器要困难得多。”

当您的应用程序位于单个服务器上时,您不会遇到网络瓶颈、故障转移问题、stonith 问题、vlan 和专用 lan 障碍,也不会解决本地网络上的 tcp 拥塞问题,也不会编写 mysql 插件来执行键/值或切换到 udp 以实现无损会话跟踪/尽力而为。除非您必须开始每天挖掘 7.5 亿条记录以获取商业智能或分析实时流数据以了解趋势,否则您不知道会遇到什么障碍。

每次客户端交互都需要减少提供该页面所需的时钟周期数 - 这是扩展的基本关键。所需的时钟周期越少,您的应用程序在硬件上的运行时间就越长。当您开始在页面生成中添加决策时,您需要添加其他流程以继续扩展并保持应用程序在线。Google 的前端在返回搜索结果时会与多台服务器进行通信。据推测,在您按下搜索查询的 Enter 键时,至少有 30 台服务器被联系,以构建由前端组装的页面部分。

虽然这个问题没有明确的答案,但答案是缓存。缓存很容易,缓存失效很难。确保您的业务流程完成返回响应所需的最少工作,确保您的数据存储后端适合您要解决的问题,确保您的存储系统适合流程中的每个步骤,这些都对成功大有裨益。

举几个例子:

twitter:varnish、nginx、memcached、大量服务器、单个 mysql 主服务器,用于存档目的,跟踪所有内容。他们的基础设施利用 memcached,所有内容都应该从 RAM 提供,仅在恢复 memcache 服务器时才引用 mysql。响应的遍历是通过 memcached 中的列表集完成的,每个时间线都按用户存储,并针对每条推文进行更新。(这可能最近有所修改)

php.net:位于不同数据中心的多个服务器镜像。它们的应用程序比较简单,显示静态页面,并带有搜索功能。

amazon:oracle、c++、perl(mason 模板),他们最近迁移到了 java/servlets 等

facebook:php、cassandra、hbase(用于消息传递)、mysql、memcached、varnish

google:基于 Linux 构建的分布式计算机。如果您使用过应用引擎,您就会明白 google 内部系统能够使用的沙盒版本是什么样子的。Google 发明了自己的系统,以独特的方式解决问题。虽然大多数人使用昂贵的计算机来构建可靠的系统,但 google 使用的是 COTS 硬件。6 台 COTS 机器的成本与两台真正可靠的计算机相同,但它们的可用 CPU 是后者的 3 倍。这使他们能够完成其他公司无法完成的计算成本高昂的事情。以“廉价方式”做事是有好处的。

wordpress 在其系统上详细介绍了其架构。Nginx、Varnish、Apache、两个数据中心、负载均衡器等。

答案2

我想说他们中的大多数使用 LAMP 堆栈或基于 CMS 的解决方案,Drupal、Joomla、Wordpress。

http://builtwith.com/default.aspx是一个有趣的网站,它能够找出当前可能正在使用的技术。

答案3

这可以帮助我们更好地了解顶级网站的用途,并将这些知识应用到我们自己的网站。

啊 - 怎么办?如果你要问这个问题,那你就不是顶级网站联盟的成员了,你知道的。

Facebook 运行在“大量”服务器上。- 超过 100,000 台。远远超出。超出的服务器太多了,他们自己编写了 php 加速器,而且它已经赚钱了,因为对顶级程序员的投资比他们不必购买的额外服务器更便宜。

这是一个典型的骗局。所有顶级网站都使用定制设置,成本太高,如果你不得不问这个问题,你甚至不会梦想自己处于同一级别。

想要另一个例子吗?谷歌。他们没有很多服务器。他们拥有并运营许多数据中心。所有数据中心都拥有大量服务器(再次强调,如果我没记错的话,每个数据中心的服务器数量都超过了 100,000 台)。

基本上,如果你进入这个领域,你会做那些知道自己在做什么的人希望你做的事情。首先要雇佣一个曾经做过这件事的人,或者对互联网的工作原理有深入了解的人。例如,如何在数据中心之间进行冗余路由。

无法给出具体答案。抱歉。

相关内容