質問

I have a Worker Role in Windows Azure where I run a Java application. In order to do not affect the SLA, we need to have at least two instances of this worker role. I'm using Hibernate Search 3.4 in this Java application and the lucene indexes are being saved in filesystem, so when one instance modifies an index the other is not aware of that. What do you recommend to have synchonized indexes? I guess I can save indexes in the blob storage or use a JMS Master/slave configuration but I do not know how I can do it.

役に立ちましたか?

解決

I used 'Infinispan' as Hibernate Search directory provider. I decided not to use Master/Slave because it requires a shared drive.

Infinispan uses JGroups that for default employs UDP multicasting as instance discovery. Because Azure doesn't support UDP multicasting, I used TCPPing as discovery method.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top