You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@roller.apache.org by Sean Pritchard <sp...@militaryhire.com> on 2015/05/26 16:14:56 UTC

Advice for using roller in an AWS autoscaling environment

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

Re: Advice for using roller in an AWS autoscaling environment

Posted by Kohei Nozaki <ky...@bridge9.sakura.ne.jp>.
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 <sp...@militaryhire.com>
> 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
>>
>

Re: Advice for using roller in an AWS autoscaling environment

Posted by Dave <sn...@gmail.com>.
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 <sp...@militaryhire.com>
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
>

Re: Advice for using roller in an AWS autoscaling environment

Posted by Boris <mi...@gmail.com>.
Try to mount Amazon S3 Bucket as a Windows or Linux Virtual Drive

Boris

2015-05-26 16:14 GMT+02:00 Sean Pritchard <sp...@militaryhire.com>:

> 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
>



-- 


 Boris

 [image: Facebook] <http://www.facebook.com/borismil> [image: Twitter]
<http://www.twitter.com/borismi>