2012-05-07 21 views
5

Uygulamamda; Kullanıcılar videoları yükleyebilir ve bunları veritabanında değil, dosya sisteminde tutmak istiyorum. Amazon Web Services (AWS) kullanıyor ve EBS (depolama için) ile sadece bir EC2 örneğini kullanıyorum. Ancak, otomatik ölçeklendirme veya çoklu EC2 örnekleri kullanırsam; Daha sonra kullanıcı videoyu yüklerse, EC2'den birine kaydedilir (EBS'nin biriyle ilişkili). Bir dahaki sefere kullanıcı oturum açarsa (veya oturum yapışkanlığı yoksa; kullanıcının bir sonraki isteği başka bir EC2 örneğine giderse) videosuna nasıl erişecek?AWS'deki ortam dosyalarını AWS üzerinde birçok EC2 örneğiyle kaydetme

Bu sorun için en iyi çözüm nedir? S3 tek çözüm kullanıyor ama bunun için sadece java.io.File yapamıyorum .. Ben yüklenen videoları erişmek için AWS SDK API kullanmak zorunda kalacağım .. ama bu daha yavaş olmayacak?

Daha iyi bir çözüm var mı?

+1

S3 ile, dosya EC2'den geçmeden doğrudan tarayıcıya indirilebilir. Bu da potansiyel olarak daha hızlı. – Thilo

+0

Burada kaç tane video dosya boyutu konuşuyoruz? – shashankaholic

+0

max 5 - 10 mb .. – Deepak

cevap

4

Amazon S3 kullanırdım. Diğer Amazon Web Servislerini kullanıyorsanız, hızlı, nispeten ucuz ve iyi çalışıyor.

Önce EC2 örneğine yükleme yapabilir ve dosyaları otomatik olarak aktarmak için Simple Workflow Servie'yi kullanabilirsiniz. Bu, videoyu daha sonra birden çok bit hızına yeniden kodlamak istiyorsanız da yararlıdır.

+0

Bilgi için Ben teşekkürler. S3'ün oldukça yavaş olduğunu hissettim. – Deepak

+0

@Deepak Eğer s3 hesabınızın ve ec2 hesabınızın aynı bölgede (örn. Eu-west veya us-east) olduğundan emin olursanız, transfer aynı veri merkezinde olduğu için çok hızlı olacaktır. – Ben

+1

s3 gerçekten yavaştır ancak dosyaları sunmak için onu cloudfront ile eşleştirebilirsiniz. İkisini eşleştirdiğinizde kurulumu ve hiper çabukluğu kolaydır. –

0

NAS'ı kurmanız gerekir. NFS veya GlusterFS gibi bir şey olabilir. Daha sonra modern ve iyi ölçekler ...