Ljudi su tražili siguran mehanizam za razmjenu datoteka. Danas s ponosom najavljujemo novi open source modul za fileserver. Kao najnovija komponenta u Psono ekosustavu, rješava više problema:
I tu se pojavljuje Psono. Psono je dizajniran s obzirom na sve te probleme i izuzetno je fleksibilan.
Ok, kako to izgleda za korisnike, pitate se? Jednostavno.
Nadam se da je to dovoljno jednostavno.
Ispod haube klijent odrađuje malo složenije korake, ali su svi skriveni od korisnika:
Ovim mehanizmom možemo riješiti bilo koji problem s veličinom datoteke jer se datoteke dijele na dijelove. Uploadi se mogu distribuirati preko više servera čak i za jednu datoteku. Sve datoteke su (kao i sve ostalo u Psonu) enkriptirane prije nego napuste klijent i budu poslane serveru.
Gornji dio prikazuje tipičnu konfiguraciju. Relay poslužitelj (jednostavan reverse proxy) poslužuje statičke datoteke (webklijent). Webklijent se učitava u preglednik, nakon čega poziva REST API endpointove na serveru. Server koristi Postgres bazu podataka za pohranu svih trajnih podataka. Psono Webklijent i Psono Server mogu se smatrati bezdržavnim, svi podaci pohranjuju se u Postgres bazi.
Ako želite sada dodati fileserver, prvo morate stvoriti shard i cluster konfiguraciju na serveru, koju zatim koristite za konfiguraciju stvarnog fileservera. Kada se fileserver pokrene, automatski će se registrirati i nastaviti prijavljivati svoju dostupnost svakih 10 sekundi. Ako fileserver prestane raditi, server će to prepoznati i prestati slati klijente na taj poslužitelj. Kad se vrati, automatski će se ponovno registrirati i početi primati zahtjeve od klijenata. Na gornjoj slici, sve chunkove pohranjujemo lokalno i imamo Relay server (može biti isti kao i za standardni server, webklijent u manjim okruženjima) za SSL offload.
Osim lokalne pohrane, možete koristiti razne storage backendove i čak ih miješati.
Trenutno su podržani (uz lokalnu pohranu) Amazon S3, GCP Cloud Storage i Azure Blob Storage.
Možete koristiti više fileservera kako biste riješili, na primjer, probleme s performansama uzrokovane ograničenjem propusnosti. Možda ljudi rade na daljinu, a u uredu postoji samo tanak internet priključak. Drugi primjer korištenja može biti bolja zaštita lokalnih datoteka i
Postavka koja rješava problem performansi i nudi bolju izolaciju može izgledati ovako:
Ova postavka dijeli sav promet "eksternog" shard-a između lokacija dvosmjerno, dopuštajući vanjskim suradnicima upload datoteka koje zaposlenici kasnije mogu preuzeti i obratno.
On-premise shard s druge strane nikada nije sinkroniziran s udaljenom lokacijom i ostaje bolje zaštićen. Kako se datoteke u „eksternom” shardu sinkroniziraju samo jednom kad se promjene, možete imati 100 zaposlenika koji pristupaju jednoj datoteci bez potrebe da je preuzmete 100 puta s udaljene lokacije. Ili ako uploadate datoteku, možete je podijeliti sa 100 vanjskih suradnika, bez da je uploadate 100 puta.
Prednost u propusnosti može se iskoristiti i za povezivanje udaljenih lokacija s konfiguracijom poput ove:
U ovoj konfiguraciji svaka lokacija ima vlastiti fileserver, a sve datoteke se dijele između lokacija. Zapisivanje ide samo na određeni shard, što omogućuje jednosmjernu sinkronizaciju svakog sharda. Ova postavka omogućila bi ljudima u New Yorku pristup datotekama bez odgode.
Sljedeća velika tema je loadbalancing. Sve ovo je odlično ako imate samo nekoliko zaposlenika koji ne zasićuju vaš bandwidth. No, kad imate 1000 zaposlenika koji svi redovito pristupaju fileserveru, to će uzrokovati zagušenja za jedan server. Srećom, Psono to može riješiti. Evo dvije opcije koje nudi Psono fileserver za loadbalancing.
Možda već imate loadbalancer koji želite koristiti; tada vaša konfiguracija može izgledati ovako:
U ovom setupu koristi se loadbalancer za SSL offload. Dva fileservera iza njega rješavaju stvarne zahtjeve. Oba najavljuju isti shard, pa ga moraju sinkronizirati ili imati zajedničku pohranu. Može se koristiti GlusterFS ili jednostavni rsync.
Alternativa je dopustiti klijentu da sam radi loadbalancing i uštedjeti na dodatnoj infrastrukturi i troškovima. Konfiguracija bez dodatnog loadbalancera može izgledati ovako.
Sve ove konfiguracije mogu se kombinirati, npr. 3 klastera od po 2 servera. Svaki klaster poslužuje isti shard i ima sinkroniziranu (ili zajedničku) pohranu ispod.
Nadam se da sam vam uspio dočarati mogućnosti novog i moćnog Psono fileserver modula.