ruby-on-rails – 将雪貂索引复制到其他服务器?
发布时间:2020-12-16 19:35:19 所属栏目:百科 来源:网络整理
导读:我继承了我最近批量转移到AWS的传统rails应用程序.部分基础架构是一个雪貂索引,存在于每晚构建订阅者电子邮件的十个后端应用程序服务器中的每一个上.我们有一个大型数据库,因此每个后端服务器每天需要大约四个小时来重建索引.在十个应用程序服务器中,这需要
我继承了我最近批量转移到AWS的传统rails应用程序.部分基础架构是一个雪貂索引,存在于每晚构建订阅者电子邮件的十个后端应用程序服务器中的每一个上.我们有一个大型数据库,因此每个后端服务器每天需要大约四个小时来重建索引.在十个应用程序服务器中,这需要花费大量的额外时间来保持大部分应用程序在旋转时停止运转. (总而言之,每套索引每台服务器大约8gb).
所有重建的雪貂索引都从主数据库中读取相同的数据.我想知道的是 – 我可以让一个应用程序服务器进行每日重建,然后将最终重建的索引rsync到其他应用程序服务器吗?我不太了解雪貂(或铁杆)知道这里可能存在哪种依赖关系.我认为索引是一个索引,因此将完全相同的数据复制到所有服务器应该是“无争议的”可以这么说.我是在野外还是在正确的轨道上? 解决方法
我不明白为什么不.
我的意思是,你试过吗? Ferret只是Lucene的一个ruby端口,只要服务器只需要只读访问权限,你就可以使用Lucene索引(如rsync)和NFS共享它. 但是,您必须停止索引才能运行复制过程,以便获得索引中数据的一致快照. 虽然听起来这是一个批量工作,运行一段时间并停止,ICBW. 我最好的建议就是尝试一下.从池中取出几个服务器,并尝试在它们之间对索引进行rsyncing,然后对其进行测试.您应该能够定义一些测试用例来验证您的假设,对吧? 资料来源:1 2 3 4 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |