【问题标题】:Commercial vs Open source CMS and load balancing [closed]商业与开源 CMS 和负载平衡 [关闭]
【发布时间】:2012-02-15 09:24:46
【问题描述】:

我需要一个开源替代方案来替代 Sitefinity 之类的东西,因为负载平衡对于客户的网站至关重要。

在进行快速 Google 搜索后,看起来 Joomla 能够处理负载平衡,但我还想知道是否有其他人知道能够在负载平衡场景中处理高流量的坚如磐石的开源 CMS。

非常感谢!

【问题讨论】:

    标签: open-source content-management-system load-balancing


    【解决方案1】:

    对于扩展 CMS 网站,通常需要与第三方工具兼容。

    我最近的经验是使用 Drupal,但其他基于 *AMP 的工具(即基于 PHP/Apache/MySQL)的工具是相同的,就像大多数开源 CMS 一样。

    真正要确定的关键是每个 CMS 与这些标准工具的兼容性,以实现可扩展性。这几乎比 CMS 本身的特定可扩展性功能更重要,后者在大多数现代 CMS 中几乎相同(积极缓存等)。

    Linux 的典型难题如下。您应该评估其中哪些对您很重要,哪些将与您选择的 CMS 一起使用。

    • Varnish:此 HTTP 反向代理将位于您的主 Web 服务器前面,并在可能的情况下有效地提供匿名页面请求。如果您的网站有大量匿名(未登录)流量,那么 Varnish 几乎可以为您提供与您的网站是静态 HTML 页面相同的性能。问题:您的 CMS 必须与 Varnish 合作,要么通过附加模块,要么直接了解如何在这些代理之一后面表现。匿名页面必须在没有任何独特的 cookie 的情况下提供,否则 Varnish 无法做到。
    • Memcached:此内存中对象缓存用作 SQL 数据库中缓存表的替代方案。众所周知,内存访问比磁盘访问快 1000 倍,因此如果您将这些缓存位保留在内存中,而不必使用数据库和旋转磁盘来运行查询,那么您的网站将非常快。这也是你需要足够的 RAM 来在内存中保存额外的东西副本的原因。
    • CMS 中的缓存:所有现代 CMS 都尽其所能做到这一点,这是性能的关键。所有现代 CMS 的致命弱点是您不能真正很好地缓存登录的数据(即,仪表板对每个用户都有不同的内容要说)。因此,如果您的用户都已登录,例如社区网站或其他什么,那么这两个项目和上述两个项目都不会有太大帮助。
    • CDN:当 CMS 人到处乱说“使用 CDN”时,他们的意思是几件事。一种是听起来像,在谷歌或亚马逊或其他人提供的内容交付网络上托管静态文件之类的东西,加载速度会更快。但它意味着的另一件事是设置多个并行 DNS 名称来加载内容。您的浏览器将一次最多从单个域加载 6 个内容。如果您制作:a.example.com、b.example.com、c.example.com、d.example.com、e.example.com,然后如果您的 CMS 支持这种 CDN 技术,那么浏览器可以下载 30一次而不是 6 个 - 它可以从 a.、b.、c.、d. 和 e.example.com 中的每一个中抓取 6 个项目(.css 文件、.js 文件、图像等)。这可以加快网站速度,但您的 CMS 必须再次支持它(内置或通过某种附加模块)
    • 数据库复制?如果您谈论在 MySQL 中执行此操作,这总是很棘手。无论数据库如何,复制都是一个难以解决的问题,特别是如果它必须是双向复制(每一方都必须读取和写入)。如果您完美地完成上述所有操作,并购买最好的硬件,并将数据库固定在其自己的高性能服务器上,并且没有其他服务,以及一个不错的快速 raid-10 阵列,比如 6 个磁盘,让您自己获得非常棒的磁盘性能............那么你可能会用一个主数据库走很长的路。 (如果你把所有的鸡蛋都放在一个篮子里,那么复制到备用机器绝对是一个明智的主意)。无论如何,此时您已处于标准数据库复制领域……您的 CMS 可能支持拥有多个数据库条目,但这在很大程度上更多的是“你如何集群”而不是“你在集群什么 CMS”的问题。如果任何现代替代方案都不允许您为集群设置多个数据库主机名,我会感到惊讶,并且您始终可以通过轮询 DNS 服务器的主机名在 DNS 中完成此操作。不过,这与您选择的 CMS 无关。

    为了结束这一切并回答您的问题,我当然推荐 Drupal 作为坚如磐石的可扩展 CMS。是否可以轻松扩展它以运行像examiner.com 或whitehouse.gov 这样的网站或拥有数百个甚至数千个子站点和数百万个节点的大学站点?见鬼!在您选择的任何 CMS 中,这个挑战也不是一件容易的事。但如果您解决了以上所有问题,您还应该能够选择任何现代流行的 CMS 并使其快速运行。

    【讨论】:

    • 哇!这是广泛的......谢谢Faken :) 非常有用!
    • 如果我只能投票不止一次。伟大的阐述
    【解决方案2】:
    【解决方案3】:

    我们目前在负载相当高的集群设置中使用Alfresco。工作正常。我们注意到了 lucene 索引同步的一些小问题——它可能需要一两分钟才能在所有节点中复制。

    GA 版本是开源的。他们还提供大量文档和培训。

    【讨论】:

    • 谢谢科斯特亚。我会调查一下。如果还有其他人,请继续。
    【解决方案4】:

    这是我的观点,有些人可能不同意,但大多数中型企业内容管理系统(开源和商业)都提供负载平衡功能。问题是他们的解决方案的效率和可扩展性如何。例如,Sitefinity 提供负载平衡,其中网络场中的每台服务器都必须了解其他服务器。例如,如果我在一个网络场中有 20 台服务器,那么我必须配置每台服务器并确保它知道其他服务器。这是一个真正的痛苦,但它仍然是一个“负载平衡”功能。我想说的是,在您决定使用该 CMS 之前,请务必调查负载平衡在某个 CMS 中的工作原理。

    【讨论】:

    • 感谢 CodeRush!我一定会调查的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2017-01-15
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多