Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kilka serverów / Amazon S3 / inne
ShadowD
post
Post #1





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Hej wszystkim!

Mam problem z czasami dostępu do serwisu, szukam rozwiązania który go skróci - najpierw opiszę jaki jest obecny stan portalu.

Każdy user może zakładać konta, dodawać prezentacje. Prezentacja składa się z obrazków, po klatkowych zdjęć lub rozbitych filmów na ramki. Userzy mogą te filmy udostępniać innym albo przez plugin w js animujący obrazki, albo poprzez wygenerowanie gif/video. Obecnie portal ma ok 500gb plików userów z całego świata, a transfer wychodzący jest na poziomie ok. 1tb miesięcznie.

Niestety pojawiają się problemy z wydajnością łącza, klient chce rozproszyć servery/dodać cdn'y. Tak by klienci nie musieli łączyć się z serverem przez pół świata do polski gdzie obecnie stoi 1 server.

Rozwiązania jakie udało mi się znaleźć to routing DNS, który wydaje się bardzo kosztowny lub Amazon S3 - tutaj lepiej z kosztami.

Problem jest taki, że user musi od razu uploadować pliki na najbliższy S3. Potem server jakiś musi go pobrać, utworzyć video, gify itd i oddać tym razem do kilku regionów S3. Cała procedura jest dość zawiła i szukam innych rozwiązań tego problemu.

Obecny szacunkowy koszt przy 3 regionach w amazonie tworzy koszt ok. 300$ miesięcznie + server bazowy do operacji na plikach, mysql'a itd. za ok 500zł/miesiąc. Te koszta są jak najbardziej akceptowalne.

Możecie doradzić jakieś rozwiązanie ew. utwierdzić mnie że S3 to dobry wybór?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cepa
post
Post #2





Grupa: Zarejestrowani
Postów: 125
Pomógł: 7
Dołączył: 27.01.2010

Ostrzeżenie: (0%)
-----


podstawowe pytanie: dane lokalne czy globalne? - czy klient ze stanow wrzucajac plik spodziewa sie ze odrazu cala europa go obejzy czy wrzuca plik w stanach dla odbiorcow w stanach?

ogolnie, masz conajmniej kilka sposobow na rozwiazanie twojego problemu, zeby przerzucic ruch do lokalnego serwera mozesz uzyc route 53, mozesz skonfigurowac bind z geoip, lub robic zwykly redirect

jak wrzucasz dane to mozesz je odrazu replikowac na drugi koniec swiata uzywajac np: glusterfs czy drbd, wszystko zalezy od skali, ilosci danych i ilosci plikow, a przy duzej pozostaje consistent hashing i cachowanie

co do S3 to zalezy jakie operacje chcesz robic na tych plikach, dlatego ze S3 dziala jako straming, rownie dobrze mozesz postawic hadoopowy HDFS u tanszych prowiderow i uzyskasz to samo co S3, jezeli jednak potrzebujesz mielic pliki jakimis programami, lub skakac po nich (fseek) to S3 sie nie sprawdzi bo bedziesz musial buforowac plik na maszynie ktora przetwarza dane czyli po prostu skopiowac plik lokalnie, jak danych masz duzo to bedzie to duzy narzut

klienci z daleka zawsze beda narzekac na transfer chociazby dlatego ze na laczach miedzy kontynentami jest capping, jak usluga ma byc szybsza to musi byc dla nich lokalna, kolejna sprawa jak duzo ludzi ma miec dostep do danych i w jakim czasie, kontent ma sie pojawic na drugim koncu odrazu, czy oglada go tysiace ludzi itp?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 12:41