Cześć, mam pytanko odnośnie wysoce skalowalnych aplikacji. Chcę napisać aplikację którą chcę rozproszyć na kilka serwerów. Wiem że będzie tu potrzebny loadbalancer i dość zaawansowane środowisko, więc pewnie skorzystam z chmury gdzie nie będę się musiał o to martwić. Chciałem zrobić system oparty o dockera. Sama aplikacja okej może być w kliku instancjach i spoko, ale co z danymi? gdzie trzymać dane, bazę danych (SQL), żeby było to skalowalne? skoro dostanę requesta do loadbalancera i on prześle żądanie do konkretnej instancji aplikacji, w której akurat nie będzie tego zasobu, bo user wcześniej wysłał dany zasób, a loadbalancer przekazał go do innej instancji aplikacji. Może polecacie jakieś inne bardziej automatyczne rozwiązania? Jestem zielony w kwestii tworzenia skalowalnych aplikacji, więc może macie jakieś zasoby z których mógłbym się tematu nauczyć? :D
0
0
Baza danych to punkt styku, więc dostęp do danych trzeba uwspólnić a dane odpowiednio replikować zgodnie z potrzebami. Na szczęście spinanie baz danych w klastry to ich podstawowa funkcjonalnośc więc baza zrobi to za Ciebie jak ją odpowiednio skonfigurujesz, wstępne hasła do wyszukania dla Ciebe <nazwa bazy> active active
oraz <nazwa bazy> active passive
- w trakcie lektury pojawią się kolejne hasła do doczytania.
Swoją drogą, zaawansowane środowisko w chmurze jako klient nie korporacyjny prawdopodobnie nie będzie bezproblemowe. Nie zrażam, czeka Cię ciekawe doświadczenie.
Dockera odradzam, jeśli nie miałeś z nim doświadczenia wcześniej. Stworzy Ci problemy, z którymi nie będziesz chciał się mierzyć stawiając swoje pierwsze środowisko.