您好我正在使用太阳黑子solr开发rails项目并配置Solr Cloud。 我的环境:rails 3.2.1,ruby 2.1.2,sunspot 2.1.0,Solr 4.1.6。
为什么选择SolrCloud:我需要更稳定的系统 - 搜索服务器经常进行维护,Web应用程序停止生产。因此,我考虑如何制作两个相同的搜索服务器而不是一个,以使系统更稳定:如果一台服务器将关闭,其他服务器将继续工作。
我找不到任何好的turtorial简单,易于理解和详细描述turtorial ... 我正在尝试在两台服务器上设置SolrCloud,但我不完全理解它是如何在内部工作的:
答案 0 :(得分:4)
在这里阅读更多关于SolrCloud的内容..! https://wiki.apache.org/solr/SolrCloud
来自我的经验的一些投入。
如果您的应用程序只是从SOLR读取数据并且没有写入SOLR(实时但您使用ETL进行索引),那么您可以选择主从属层次结构。
定义一个Master: - 将所有写入指向此处。如果此主服务器关闭,您将无法再索引数据
创建2个(或更多个)Slave: - 这是SOLR的一个功能,它将根据我们指定的时间间隔(从每20秒说一次)来处理来自主服务器的数据。
创建基于从属的负载均衡器,并指示您的应用程序从负载均衡器读取数据。
优点: 通过上述设置,您没有Master(数据写入)的高可用性,但在最后一个从站关闭之前,您将拥有高可用性数据。
缺点: 假设一个奴隶倒下了,你在一小时后买回来,这个奴隶将在其他奴隶后面一小时。因此,它的手动任务是在添加回ELB之前检查其他从站之间的数据一致性。
SolrCloud怎么样?
什么适合你。
通过上述设置,您可以维持任一节点的故障转移。
如果您需要更多相关信息,请与我们联系。
此致
Aneesh N
- 让我们一起学习。