Jeremy, I manage a Scalr.net account where there are multiple websites and one of them uses Joomla. The farm uses www, app, and mysqllvm roles. The load on the farm fluctuates so a new app server gets created a few times per week. So I decided to store files in S3. However, I did not want the S3 files to be open to the public. I wanted them served from S3 through the app role to avoid additional bandwidth fees and to prevent unauthorized access since some of the files are marked private by the user.
Since Joomla stores uploaded files (mainly images, text, and pdf files) in a known parent directory tree, it seemed the easiest thing to do was copy the directories periodically to S3. Then use a rewritemap to check for the files in S3 if they were not found locally. I was concerned about this 100 bucket limit. I get confused about what is a bucket and what is an object in S3. Anyway, there are hundreds of files in S3 now. The cron job stores them in the directory tree path. (Not really true since the 'path' is just a key to the object in S3.) The bash backup script is a cron job that runs every few minutes. The perl rewritemap program is run from Apache on the app role. The only problem I have with this setup is that some users post large numbers of files and if the cron job is still running when it is time to call it again, I receive error messages. As a first refactor, I modified the cron script to delete all local files after they are uploaded to S3. As a second refactor, I need to modify the cron script to exit the new job if the script is still running, but have not done this yet. So now, all user uploaded files are served from S3 via an Apache rewritemapping program in perl, there are several hundred files in S3, the files are not open to the public for access, and I have not had any user complaints about slow access time. I use one of the websites and have not noticed any significant latency. Maybe this approach will be helpful. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "scalr-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/scalr-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
