代码之家  ›  专栏  ›  技术社区  ›  Ryan Detzel

大型网站(谷歌、Facebook等)如何实时向所有服务器传播信息?

  •  7
  • Ryan Detzel  · 技术社区  · 15 年前

    我在找一些技术来研究。我很惊讶你能进入[在这里插入大站点]的界面,更新一个设置,几秒钟之内它就被推出了,这样它就可以在全盘运行了。广告词就是一个很好的例子。如果你进入AdWords并改变一个活动,这些设置将以一个唯一的ID存储在服务器上。广告代码调用具有该ID的服务器,信息(大小、颜色等)会立即拉起来显示广告。谷歌如何能如此迅速地将其推送到数十万台服务器上?他们使用什么类型的数据库系统?

    4 回复  |  直到 14 年前
        1
  •  6
  •   T.J. Crowder    14 年前

    谷歌已经为其 Google File System (或者曾经被称为“大文件”)和 BigTable 它们都被广泛地用于他们的服务中。这些可能会使他们读得很好,他们自己,因为他们可能引用现有的技术。

        2
  •  1
  •   Jay    15 年前

    您可能想了解Oracle如何构建RAC以跨多个DBS传播数据: http://download.oracle.com/docs/cd/B14117_01/server.101/b10727/ha_strea.htm

        3
  •  0
  •   Acibi    15 年前

    我知道Facebook使用点对点的方式在他们的服务器上推送更新。

    第一个服务器获取更新,然后将其发送给其他执行相同操作的人。直到他们所有的服务器上都有更新!

        4
  •  0
  •   cdpnet    15 年前

    我一直在调查类似的信息。

    寻找“结构化数据”。

    具体情况:mojodb,couchdb。 在mojodb网站上查找比较。

    Facebook使Cassandra(分布式数据库)开源。我想他们和许多其他人现在都在使用它。

    另外,还需要寻找Hadoop框架和map/reduce,这是一个有趣的问题。