【问题标题】: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 应用程序停止生产。所以,我考虑如何让两台相同的搜索服务器而不是一台,以使系统更稳定:如果一台服务器关闭,其他服务器将继续工作。
摆脱困境:
问题:
- 怎么办?为什么?
- SolrCloud 是更好的解决方案吗?
- 这些变体的 PROC 和 CONS 是什么?
- 在哪些情况下更适合使用 SolrCloud?
- 在哪些情况下更适合使用 Solr Replication?
【问题讨论】:
标签:
solr
replication
solr4
solrcloud
sunspot-solr
【解决方案1】:
你应该可以在论坛中找到 Solr Master Slave Heirarchy Vs SolrCloud 的比较,但这些都是我的理解/经验,所以请轻视。
- 怎么办?为什么?
这完全取决于您的业务需求。我想说,如果您的应用程序只是从 SOLR 读取数据并且需要从 SOLR 读取数据的高可用性,那么简单的一个主到多个从层次结构就绰绰有余了。
但是,如果您也在寻找写入 SOLR 的高可用性,那么 SolrCloud 是一个正确的选择
- SolrCloud 是更好的解决方案吗?
没有比这更好的了,维护 SolrCloud 需要良好的基础架构,并且必须注意 ZooKeeper 的可用性、节点健康状况、高性能磁盘以获得更好的复制速度等。
但是,除此之外,我们不需要担心节点之间的数据一致性,因为这将由 SolrCloud 负责
- 这些变体的 PROC 和缺点是什么?
如上所述。
- 在哪些情况下更适合使用 SolrCloud?
当您需要 Solr 写入和读取的高可用性时,我们必须选择 SolrCloud
此外,如果您负担不起更大的机器拥有一个单一节点,那么您可以将索引拆分为分片并将其保存在较小的配置机器下。
- 在哪些情况下选择 Solr Replication 更好?
当您的应用程序没有实时写入 SOLR 时,Replication 就足够了,无需使用 SolrCloud 变得复杂。此外,它的主从设置比 SolrCloud 相对容易