2012-05-07 38 views
5

W mojej aplikacji; użytkownicy mogą przesyłać wideo i chcę zachować je w systemie plików, a nie w bazie danych. Jeśli korzystam z usług Amazon Web Services (AWS) i używam tylko jednej instancji EC2 z EBS (do przechowywania), to grzywna. Ale jeśli używam automatycznego skalowania lub wielu instancji EC2; wtedy, jeśli użytkownik załaduje wideo, zostanie zapisany na jednym z EC2 (powiązanym z jednym z EBS). Następnym razem, gdy użytkownik się zaloguje (lub jeśli nie ma lepszej sesji, a następnie, jeśli kolejne żądanie użytkownika trafi do innej instancji EC2), w jaki sposób uzyska dostęp do swojego wideo?Jak zapisywać pliki multimedialne na AWS z wieloma instancjami EC2 na AWS

Jakie jest najlepsze rozwiązanie tego problemu? Używa S3 jako jedynego rozwiązania, ale do tego nie mogę po prostu zrobić pliku java.io.File. Myślę, że będę musiał użyć interfejsu API AWS SDK, aby uzyskać dostęp do przesłanych filmów .. ale czy to będzie wolniejsze?

Czy istnieje lepsze rozwiązanie?

+1

Dzięki S3 plik można pobrać bezpośrednio do przeglądarki, bez przechodzenia przez EC2. To też jest potencjalnie szybsze. – Thilo

+0

Ile i jak dużo plików wideo tutaj rozmawiamy? – shashankaholic

+0

max 5 - 10 mb .. to nie powinno przekroczyć tego – Deepak

Odpowiedz

4

Chciałbym używać Amazon S3. Jest szybki, stosunkowo tani i działa dobrze, jeśli używasz innych usług Amazon Web Services.

Najpierw można przesłać do instancji EC2 i użyć Simple Workflow Servie w celu centralnego automatycznego transferu plików. Jest to również użyteczne, jeśli chcesz ponownie kodować wideo do wielu bitów później.

+0

Dzięki Ben za informacje. Czułem, że S3 jest dość powolny. – Deepak

+0

@Deepak Jeśli upewnisz się, że twoje konto s3 i twoje konto ec2 znajdują się w tym samym regionie (tj. Eu-west lub us-east) transfer będzie super szybki, ponieważ są one w tym samym centrum danych. – Ben

+1

s3 jest rzeczywiście powolny, ale można go sparować z chmurą, aby wyświetlać pliki. Jest łatwy w konfiguracji i hiperszybki po połączeniu dwóch. –

0

Musisz skonfigurować NAS. Może to być NFS lub coś w rodzaju GlusterFS. Później jest nowoczesny i dobrze się skaluje ...