I have a application which stores documents on the file system (PDF, WORD etc).. The size of the folder can be in GB's
It indexes those as well and had the capability to download files etc.
Now I want to make this a clustered application for scalability. I am using tomcat/springs/hibernate.
How do all the nodes have access to the files? How do all the nodes have access to the indexes?
We might change some file attribute as metadata and hence want to reindex and thus need write access as well.
What should be the best architecture to achieve this? Shared file system might be slow and have race condition when we are writing indexes again.
Thanks in advance for the guidance over this.