Lidé poptávali bezpečný mechanismus pro výměnu souborů. Dnes jsme hrdí na to, že můžeme představit nový open source modul souborového serveru. Jako nejnovější komponenta v ekosystému Psono řeší několik problémů:
A právě zde přichází na scénu Psono. Psono byl navržen s ohledem na všechny tyto problémy a je extrémně flexibilní.
Takže jak to vypadá pro uživatele, ptáte se. Jednoduše.
To je, doufám, dostatečně jednoduché.
Pod kapotou klient provádí několik složitějších kroků, ale všechny jsou uživateli skryté:
Tímto mechanismem můžeme vyřešit jakýkoli problém s velikostí souboru, protože soubory jsou rozděleny do částí. Můžeme rozložit nahrávání mezi servery, dokonce i pro jediný soubor. Všechny soubory jsou (stejně jako vše ostatní v Psono) zašifrovány, než opustí klienta a jsou odeslány na server.
Horní část ukazuje typické nastavení. Reléový server (jednoduchý reverzní proxy) slouží několik statických souborů (webový klient). Webový klient je doručen prohlížeči, který poté volá koncové body REST API na serveru. Server používá databázi Postgres k uložení všech trvalých dat. Psono Webclient a Psono Server mohou být považovány za bezstavové, všechna data jsou uložena v databázi Postgres.
Pokud nyní chcete připojit souborový server, musíte nejprve vytvořit konfiguraci shardu a clusteru na serveru, kterou pak můžete použít ke konfiguraci skutečného souborového serveru. Jakmile se souborový server spustí, automaticky se zaregistruje a nadále bude oznamovat svou dostupnost v intervalu 10 sekund. Pokud souborový server zemře, server to rozpozná a přestane posílat klienty na mrtvý server. Jakmile se vrátí, znovu se automaticky zaregistruje a začne přijímat požadavky od klientů. Na obrázku výše ukládáme všechny části do lokálního úložiště a máme reléový server (může být stejný jako pro normální server, webový klient v malých prostředích) pro SSL offload.
Kromě lokálního úložiště můžete použít různé úložné backendy a dokonce je kombinovat.
Aktuálně podporovány (vedle lokálního úložiště) jsou Amazon S3, GCP Cloud Storage a Azure Blob Storage.
Můžete použít více souborových serverů, abyste vyřešili například problémy s výkonností kvůli omezení šířky pásma. Mohli byste mít lidi pracující na dálku, ale ve vaší kanceláři je pouze velmi tenké internetové spojení. Dalším případem by mohlo být, že chcete lépe chránit lokální soubory a
Nastavení, které řeší problém s výkonem a nabízí lepší izolaci, by mohlo vypadat takto:
Toto nastavení sdílí veškerý provoz z "externího" shardu mezi weby obousměrně, což umožňuje externím uživatelům nahrávat soubory, které pak mohou být staženy zaměstnanci a naopak.
On-premise shard na druhé straně není nikdy synchronizován s vzdálenou lokalitou a zůstává lépe chráněn. Vzhledem k tomu, že soubory v "externím" shardu jsou synchronizovány pouze jednou, kdykoliv se změní, mohlo by k danému shardu přistupovat 100 zaměstnanců bez potřeby jej stahovat 100krát z vzdáleného umístění. Nebo pokud nahrajete soubor, můžete ho sdílet s 100 externími uživateli, aniž byste ho museli nahrávat 100krát.
Výhoda šířky pásma může být použita také k připojení vzdálených lokalit s nastavením podobným tomuto:
V tomto nastavení má každé umístění vlastní souborový server a všechny soubory jsou sdíleny mezi lokalitami. Zápisy jdou jen do specifického shardu, což umožňuje jednosměrnou synchronizaci každého shardu. Toto nastavení by umožnilo lidem v New Yorku přístup k souborům bez jakéhokoliv zpoždění.
Dalším velkým bodem je vyvážení zátěže. Vše je hezké, pokud máte jen několik zaměstnanců, kteří nevyčerpávají vaši šířku pásma. Pokud máte 1000 zaměstnanců, všichni pravidelně přistupující k souborovému serveru, pak to vyprodukuje limity šířky pásma pro jediný server. Naštěstí Psono to dokáže zvládnout. Zde jsou dvě možnosti, které Psono's fileserver nabízí pro vyvažování zátěže.
Možná už máte vyvažovač zátěže, který byste chtěli použít, pak by vaše nastavení mohlo vypadat takto:
V tomto nastavení se používá vyvažovač zátěže pro SSL offload. Dva souborové servery za ním se používají k vyřizování skutečných požadavků. Oba oznamují stejný shard, takže buď potřebují synchronizovat shard, nebo mít nějaké sdílené úložiště. Jeden by mohl použít GlusterFS nebo jednoduchý rsync.
Alternativou by bylo, že by klientovi bylo povoleno vyvažování zátěže všeho a ušetřilo by se tak nastavení a náklady. Nastavení bez extra vyvažovače zátěže by mohlo vypadat takto.
Všechna tato nastavení lze skládat, např. 3 clustery o 2 serverech každý. S každým clusterem, který obsluhuje stejný shard a má synchronizované (nebo sdílené) úložiště pod ním,
Doufám, že jsem vám mohl poskytnout dobrý dojem o schopnostech nového a mocného modulu souborového serveru Psono.