我支持 Rails 项目,其中包含 Rails 应用程序和 Solr 的附加实例。
我的环境:rails 3.2.1,ruby 2.1.2,sunspot 2.1.0,Solr 4.1.6。
Problem:
云提供商不稳定。我不能使用其他云提供商 - 这是客户的需求。通常,搜索服务器会进行维护,而 Web 应用程序会停止在生产环境中运行。因此,我考虑如何制作两台相同的搜索服务器而不是一台,以使系统更加稳定:如果一台服务器宕机,另一台服务器将继续工作。
摆脱困境的方法:
- 或将两个搜索服务器配置为Solr复制 https://wiki.apache.org/solr/SolrReplication
- 或将两个搜索服务器配置为Solr云 https://cwiki.apache.org/confluence/display/solr/SolrCloud
问题:
- 该怎么做以及为什么?
- SolrCloud 是更好的解决方案吗?
- 这些变体的优点和缺点是什么?
- 哪些情况下更适合选择SolrCloud?
- 哪些情况下更适合选择Solr Replication?
您应该能够在论坛中找到 Solr Master Slave Heirarchy 与 SolrCloud 的可能比较,但这些是我对它们的理解/经验,因此请谨慎使用。
- 该怎么做以及为什么?
这完全取决于您的业务需求。我想说,如果您的应用程序只是从 SOLR 读取数据,并且需要从 SOLR 读取数据的高可用性,那么简单的一主多从层次结构就足够了。
但如果您也在寻求写入 SOLR 的高可用性,那么 SolrCloud 是一个正确的选择
- SolrCloud 是更好的解决方案吗?
没有什么比这更好的了,维护 SolrCloud 需要良好的基础设施,并且必须注意 ZooKeepers 的可用性、节点健康状况、高性能磁盘以获得更好的复制速度等。
但是,除此之外,我们不需要担心节点之间的数据一致性,因为这将由 SolrCloud 负责
- 这些变体的优点和缺点是什么?
如上所述。
- 哪些情况下使用SolrCloud比较好?
当您需要 Solr 写入和读取的高可用性时,我们必须选择 SolrCloud
另外,如果您无法负担更大的机器来拥有一个节点,那么您可以将索引拆分为碎片并将其保留在较小的配置机器下。
- 哪些情况下更适合选择Solr Replication?
当您的应用程序不实时写入 SOLR 时,复制就足够了,无需使用 SolrCloud 变得复杂。此外,设置 Master Slave 比 SolrCloud 相对容易
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)