![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
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? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 12:41 |