将Lucene.NET与Asp.NET MVC网站进行负载均衡

时间:2015-07-09 15:31:39

标签: asp.net-mvc load-balancing lucene.net

我们希望开始对我们的网站进行负载均衡,该网站目前使用lucene.net来存储大约200,000个文档。我们有一个MVC网站,其中包含一些执行搜索和附加功能的WCF服务。 如何实现负载平衡并仍然使用Lucene?

我想到了两种方式:

  1. 在每台用于负载均衡的计算机上复制索引
  2. 将索引存储在外部服务器上,该服务器只保存此索引以用于搜索。
  3. 你能帮我提一些建议,解释或有用吗?

    上述任何方法是否更合适,还是有其他解决方案?

2 个答案:

答案 0 :(得分:3)

另一种选择是使用Elasticsearch(它本身使用Lucene)。

这将是一个更大的架构变化,但取决于您的解决方案可能仍然是微不足道的。

Elasticsearch会为您提供开箱即用的负载平衡,您不需要实现自己的索引同步。

答案 1 :(得分:0)

您可以在每台计算机上复制索引,但要小心保持索引同步可能会很麻烦。我已经看到这种方法在其他企业应用程序中使用。

另一方面,索引的单个实例可能会造成搜索的瓶颈。

在这种情况下,我会说你挑毒药。我可能会尝试单个索引,看看性能如何受到影响。如果这不起作用那么你将不得不复制索引并确保它们始终同步