I don't know very well about AWS autoscaling, but I guess there are some
additional things need to be cleared to get Roller work on clustered
environment:
* Second level cache of JPA: need to be turned off, or cluster-aware
configuration is needed.
* Page cache: Roller saves rendered htmls as a cache. when an
administrator, author or visitor made a change (e.g. posting a new
entry), caches of some pages are need to be invalidated. but I'm not
sure how to invalidate it among servers.
* Salt processing: to prevent XSRF, Roller uses salt value
authentication for every POST requests on administration pages but
out-of-box Roller saves SaltCache as a static variable, so every POST
requests need to be sent to a particular server for a particular client.
perhaps a some kind of new implementation which uses memcached is needed
as mentioned in a comment of SaltCache.java.
And of course, http sessions need to be replicated among servers for
administration pages and comment authenticators.
Kohei
On 5/27/15 1:43, Dave wrote:
Hi Sean,
You are right, uploaded files will be a problem. I'm not aware of a
solution that does not require new code, except for something like NFS.
Another thing to watch out for is the search index. Roller uses Lucene
directly, which means each instance of Roller will have it's own Lucene
index. As bloggers make changes to posts, indexes may get out of sync and
search will not work uniformly.
You could work around this by re-indexing each Roller instance
periodically. But, unfortunately, I don't think there is a way to trigger a
re-index of the Roller search index, except for stopping Roller, deleting
the search index directory then restarting Roller -- Roller will re-index
all blog entries if no index data is found. Another work around is to just
use Google for your site search.
Hope that helps.
- Dave
On Tue, May 26, 2015 at 10:15 AM Sean Pritchard <[email protected]>
wrote:
Hi,
I'd like to use roller in an autoscaled AWS cluster. It looks like the
main hurdle to doing that will be the local media directory that contains
uploaded images. Have any of you tried running roller in such an
environment? Are there alternatives to storing the media files in local
storage? For example in AWS S3? Are you aware of any other factors that
may interfere with running roller in a active-active loadbalanced cluster?
Best Regards
Sean
MilitaryHire - Jobs for Veterans
https://www.militaryhire.com