If you use JMS your service - depending on your exact requirements - could appear as running fine even if the master is down.
The master indexing node is in charge of applying updates to the index, but if it doesn't apply any write (because it's not running for example), then queries will still be available at the cost of using a slightly out-of-synch index. In most cases people will never notice even if you take down your master node every day at peak time for maintenance.. in fact I know of people doing that on purpose to disable the overhead of index updates during peak hours.
If you configure your JMS queue to use persistence, the master node will catch up with missed updates as soon as it's restarted.
Using JGroups is an alternative but you wouldn't have the functionality of storing messages when the master isn't ready to process them.
Thx for reply. Maybe my question is misleading, the reliable not only refer to the slaves, but also masters, i.e i also want high availability for master. Or i can change my question like this, there is a cluster of masters in our product and all of them should have identical configuration/setup. But today, i got lock acquire timeout exception. So i have changed the exclusive_index_use to false, as the index updated is not very frequently in our system, but it is very important to maintain an identical configuration of master nodes.
Do you know if there is any other drawback if set exclusive_index_use as false?
Thank you very much!