Where the cache data is stored when I disable L1 cache and use replicated distribution cluster mode?
In that case, all nodes store the data. Works well with small clusters or small dataset (i.e. metadata)
When do I need Cache Server?
You can find a good comparison between P2P and client/server in https://docs.jboss.org/author/x/2AU5
When do I need CacheLoader/CacheStore? I want to my app loads the data from db if its not in cache and Spring CacheInterecptor put in cache.
Two situations: to offload data in memory to backend persistence, i.e. passivated data, and when needed, return it back to memory. Or when you want to provide a permanent storage for your data. Based on what you said, don't think you need one.
Seems like you have a clustering issue. I'd suggest you take the JGroups stack and run the tests in http://www.jgroups.org/manual/html/ch02.html to get clustering working. If UDP is problematic, try with TCP.
Thank you Galder.
I would like to not to store the cache data in each instance of JVM and want centralized cache? Otherwise I need to increase memory.
If we use distributed mode where data is going to be memory ?
If I disabled the L1 so its not in local cache that means its not in each JVM.
I am able to setup replciated cache , it was spring configuration issue.
Then use a cache server. You can set a bunch of servers to have the data in distributed mode. The data would be in memory.
L1 is only about trying to speed up reads, but with cache servers, this is not important because clients can locate which server has some data.