I try to find how to implement distributed caching for applications.
Ehcache already used for caching in my project, that's why I search how to solve this issue using it. But, unfortunately, it seems, that Terracotta Enterprise Suite is needed for this and it is commercial. Isn't it? Is there another solution how to use Ehcache for distributed caching (RMI or anything else)?
You don't need terracotta enterprise suite to cluster you Ehcache instances. So you can use clustering with Ehcache & Terracotta today, with pure OSS :
http://www.ehcache.org/documentation/configuration/distributed-cache-configuration
Edit: This link has expired. Below is the new link related to clustered cache http://www.ehcache.org/documentation/3.4/clustered-cache.html
Now if you need replication, you can use other mechanisms like RMI indeed :
http://www.ehcache.org/documentation/replication/index
Though, only the Terracotta clustering would bring you HA and features like consistency guarantees and the like...