【问题标题】:What is the difference between Solr Replication and Solr Cloud?Solr Replication 和 Solr Cloud 有什么区别?
【发布时间】:2026-02-10 20:20:03
【问题描述】:

我正在支持 Rails 项目,其中包含 Rails 应用程序和带有 Solr 的附加实例。

我的环境:rails 3.2.1、ruby 2.1.2、sunspot 2.1.0、Solr 4.1.6。

问题:

云提供者不稳定。我不能使用其他云提供商 - 这是客户的需求。搜索服务器经常进行维护,Web 应用程序停止生产。所以,我考虑如何让两台相同的搜索服务器而不是一台,以使系统更稳定:如果一台服务器关闭,其他服务器将继续工作。

摆脱困境:

问题:

  1. 怎么办?为什么?
  2. SolrCloud 是更好的解决方案吗?
  3. 这些变体的 PROC 和 CONS 是什么?
  4. 在哪些情况下更适合使用 SolrCloud?
  5. 在哪些情况下更适合使用 Solr Replication?

【问题讨论】:

    标签: solr replication solr4 solrcloud sunspot-solr


    【解决方案1】:

    你应该可以在论坛中找到 Solr Master Slave Heirarchy Vs SolrCloud 的比较,但这些都是我的理解/经验,所以请轻视。

    1. 怎么办?为什么? 这完全取决于您的业务需求。我想说,如果您的应用程序只是从 SOLR 读取数据并且需要从 SOLR 读取数据的高可用性,那么简单的一个主到多个从层次结构就绰绰有余了。 但是,如果您也在寻找写入 SOLR 的高可用性,那么 SolrCloud 是一个正确的选择
    2. SolrCloud 是更好的解决方案吗? 没有比这更好的了,维护 SolrCloud 需要良好的基础架构,并且必须注意 ZooKeeper 的可用性、节点健康状况、高性能磁盘以获得更好的复制速度等。 但是,除此之外,我们不需要担心节点之间的数据一致性,因为这将由 SolrCloud 负责
    3. 这些变体的 PROC 和缺点是什么? 如上所述。
    4. 在哪些情况下更适合使用 SolrCloud? 当您需要 Solr 写入和读取的高可用性时,我们必须选择 SolrCloud 此外,如果您负担不起更大的机器拥有一个单一节点,那么您可以将索引拆分为分片并将其保存在较小的配置机器下。
    5. 在哪些情况下选择 Solr Replication 更好? 当您的应用程序没有实时写入 SOLR 时,Replication 就足够了,无需使用 SolrCloud 变得复杂。此外,它的主从设置比 SolrCloud 相对容易

    【讨论】: