Sziasztok,
Elméleti szinten érdekelne egy téma, ami nem hagy nyugodni, főleg, hogy a neten nem találod rá leírást / megoldást. Majd megvalósítanom is meg kell, de majd csak később.
Hogyan lehet egy webszerver alá korlátlan tárhelyet varázsolni? Úgy értem a korlátlanságot, hogy a végtelenségig bővíteni a tárhelyet.
Az egyszerűség kedvéért vegyük az instagram-mot. Napi szinten felfoghatatlan mennyiségű képet és videót töltenek fel oda. De hova?
Az instát is egy webszerver szolgálja ki - tudom... nem egy, hanem sok és load balancer és társai, de ettől most tekintsünk el és a web szerver részt az egyszerűség kedvéért tekintszük 1 darabnak, függetlenül attól, hogy sok web szerver, sok load balancer és sok adatbázis cluster alkotja. Tehát webszerver.
A webszerverhez tartozik egy public mappa, docroot, ahonnan ezeket a tartalmakat ki tudja szolgálni. Hogy a fenébe csatol ide be korlátlan mennyiségű tárhelyet?
Szóval vannak NAS szerverek, amik lemez kapacitás szempontjából végesek, legyen az 24, 48...stb fiókos, de véges. Abba tesznek winyókat (hdd vagy ssd), de azok mérete is véges, plusz a háttértárak valamilyen logika szerint raid-ben vannak, tükör, csikózás, bármi. De mindentől függetlenül a NAS fiók és a bele pakolható háttértár is véges méretű. Szinten lényegtelen információként kezeljük, ezért legyen X terrabyte. Ezt az X TB-t felcsatolom a webszerver public mappájába, mondjuk nas1 mappába. Az instagram fejlesztői programozás szinten megoldják, hogy amíg a nas1-en van hely, addig minden feltöltés menjen oda. És most jön a probléma... a nas1 mounton 95% a foglaltásgi mutató. Jön a lelkes csapat... beszerzés vesz egy új nas-t és háttértárakat, a rendszergazdák összeszerelik és áram alá helyezik, konfigurálják és felcstolják a nas2 mappába... szólnak a fejlesztőknek, hogy figyelj... hogy elfogyott a hely, így mostantól a nas2 mappába töltsetek fel mindent és alakítsátok át a rendszert úgy, hogy amit eddig töltöttek fel, azt mindent a nas1 mappából szolgáljon ki a rendszer, az újakat meg már a nas2 mappában keresse, vagy a link insta.com/nas2/nezdmegkutyammilyencuki.mp4 módon keresse. Azonban a közösség nő, a feltöltések száma nő, így a nas2, nas3, nas4....stb. nas100 mappa is felcsatolásra kerül a webszerver public mappájába. De hol van a határ... mi az elméleti határ. Ha vesszük az instagram-mot, azt hogy oda napi szinten mennyi kép kerül feltöltésre, ott a nas389 2 nap alatt megtelik, tehát kell a 390. és 391 és a 392...stb. ezt így nem lehet a végtelenségig csinálni, mert nem két évre tervezték az instát, mert elfogyott a mount mappák miatt az inode a webszerver alatt. Tehát 5 év múlva is működnie kell sé tudni kell feltölteni képet.
De ha szigorúbb akarok lenni, akkor youtube... egyszer olvastam, hogy napi hány másodperc anyagot töltenek fel oda. Ííííííírdetlan mennyiségű háttértár fogy el naponta.
Hogy lehet ezt kiszolgálni? Függetlenül attól, hogy webszerver public mappa, vagy valami trükkel oldják meg, de a webszerveren, vagy még az sem feltétlenül fontos, mert lehet médai szerver is, ha videó, el kell tudja érni a fájlokat, ahhoz meg valahogy hozzá kell tudni férni. De hogy? Nem mounttolva van a háttértár egy mappába, hanem valami más módon oldják meg? De facebook képek vége is .jpg, tehát közvetlenül érem el, nem valami kép kiszolgáló scripttel, ami a megfelelő protokolon, a megfelelő fejléccel küldi, amit a böngésző, app és minden más képként értelmez, hanem a képet adja oda urlen, tehát valamiféle public mappa van, tehát nem lehet, hogy valami script gereblyézi össze a hálózatról a képet és adja oda bitfolyamként.
De akkor hogyaaaaaan? Biztos amatör kérdés és millió megoldás van erre 2023-ban, de minden olyan megoldás, ami a fejemben van, az valahol nekem valamilyen szinten korlátos, vagy inode, vagy valamilyen szinten.
Ha valaki tudja, hogy ezt hogyan lehet megoldani, akkor szívesen veszem értő és segítő szavait.
Köszönettel:
NoMan