在Azure中,多个Web角色如何从存储在Blob存储中的相同Lucene.net索引中读取?

在Azure中,多个Web角色如何从存储在Blob存储中的相同Lucene.net索引中读取?

顺便说一句 – 我正在使用NuGet的Lucene.Net.Store.Azure库将我的Lucene.net索引保存到Azure Blob存储.

我遇到的问题概述如下图所示:

我的一个想法是确保我的每个Web角色都以“只读”模式运行,并且没有写入索引.我可以为写作创建一个单独的工作者角色.我不确定这是否会奏效.

我的另一个想法是制作索引的多个副本;每个Web角色一个.但这似乎有点低效.

最佳答案 你的第一个想法是好的.我还建议实现一个单独的worker角色来写入索引.由于Azure SLA每个角色需要两台服务器,因此您可以实施排队或blob租赁机制,以确保两名工作人员不会同时尝试写入索引.

点赞