kin*_*ego 7 solr search-engine
我正在两个冗余的Tomcat 6服务器中部署Apache Solr Web应用程序,以提供冗余和提高可用性.此时,可伸缩性不是问题.
我有一个负载均衡器,可以动态地将流量路由到一个服务器或另一个或两个.
我知道Solr支持主/从配置,但如果从站在主站中断期间收到更新(在我的用例中它将会发生),则需要手动恢复.
我正在考虑使用重新加载核心的简单方法: - 两个服务器中只有一个在任何时候接收流量("活动"实例),但两者都在运行, - 两个实例共享相同的索引数据和 - 在由于中断而重新路由流量之前,告诉现在活动的实例重新加载索引核心
对索引读取和写入的故障转移进行有限测试已成功.我错过了什么含义/问题?
欢迎你的想法和意见.
您考虑的简单冗余方法似乎是合理的,但您将无法将其用于灾难恢复,除非您可以使用 NAS/SAN 与不同的物理位置共享数据/索引。
以下是一些建议:-
为灾难恢复进行备份并测试这些备份的工作情况,因为可以想象索引可能已损坏,因为 SOLR/Lucene 内部没有发生校验和。索引可能会被擦除,或者某些记录可能会在您不知情的情况下被删除和合并,如果您需要执行调查,备份对于稍后恢复这些记录/文档很有用。
在将流量重新路由到第二个实例之前,我将运行一些查询来加载缓存,并在当前索引上线之前测试和确认当前索引是否有效。
将更新隔离到一个位置、进程和线程,以确保切换时的事务完整性,因为 SOLR 不像某些数据库那样使用矢量时钟来同步更新,因此可能很难管理一致性。我个人会在其他商店中与 SOLR 分开按顺序保留所有更新的副本,以防需要重复一个小时间窗口。
总的来说,只要您不使用尖端功能和插件,我对 SOLR 的体验就非常好。我有一个实例,目前有 4000 万个文档,正常运行时间超过一年,没有出现任何问题。这并不意味着您不会遇到问题,而是让您了解它的稳定性。
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |