在Azure中,多个Web角色如何从存储在Blob存储中的相同Lucene.net索引中读取?
BTW - 我使用NuGet中的 Lucene.Net.Store.Azure 库将我的Lucene.net索引保存到Azure Blob存储。
我遇到的问题概述如下图所示:
我的一个想法是确保我的每个网络角色都采用了#34;只读#34;模式,并没有写入索引。我可以为写作创建一个单独的工作者角色。我不确定这是否会奏效。
我的另一个想法是制作索引的多个副本;每个Web角色一个。但这似乎有点低效。
答案 0 :(得分:2)
你的第一个想法很好。我还建议实现一个单独的worker角色来写入索引。由于Azure SLA每个角色需要两台服务器,因此您可以实施排队或blob租赁机制,以确保两名工作人员不会同时尝试写入索引。