första utgĂ„van â servrar för effektiv lagring av ett stort antal filer i kompakt format, som externt ser ut som en vanlig WebDAV-server. För lagring anvĂ€nds en modifierad version av . Projektets kod Ă€r skriven i sprĂ„ket Go och under BSD-licensen.
Servern kan avsevÀrt minska antalet smÄ filer pÄ vanliga eller klusterfilsystem med fullstÀndigt stöd för lÄsning. Den wZD-kluster som stöds av utvecklarna lagrar omkring 250 miljoner smÄ filer, spridda över 15 miljoner kataloger i ett klusterfilsystem .
wZD gör det möjligt att flytta (arkivera) innehÄllet i kataloger till arkiv i BoltDB-format och sedan distribuera dessa filer frÄn dessa arkiv (eller lÀgga filer i arkiv med PUT-metoden), vilket signifikant minskar antalet filer i filsystemet och minskar overheaden för lagring av metadata. För att öka effektiviteten vid hantering av stora filer kan sÄdana filer lagras separat frÄn Bolt-arkiven. En sÄdan metod gör det möjligt att organisera lagring av ett enormt antal smÄ filer utan att stöta pÄ grÀnser för antalet inode i filsystemet.
Servern kan ocksĂ„ anvĂ€ndas som en NoSQL-databas för data i nyckel/vĂ€rde-format (med sharding baserat pĂ„ katalogstrukturen) eller för distribution frĂ„n en databas av förgenererade HTML eller JSON-dokument. NĂ€r det gĂ€ller prestanda resulterar överföring och skrivning av data med hjĂ€lp av Bolt-arkiv i en ökning av fördröjningen pĂ„ cirka 20â25 % vid lĂ€sning och 40â50 % vid skrivning. Ju mindre filens storlek Ă€r, desto mindre skillnad i fördröjningar.
Huvud :
- Multithreading;
- Multiserver, vilket sÀkerstÀller driftsÀkerhet och lastbalansering;
- Maximal transparens för anvÀndaren eller utvecklaren;
- Stödda HTTP-metoder: GET, HEAD, PUT och DELETE;
- Hantera beteende vid lÀsning och skrivning via klienthuvuden;
- Stöd för flexibelt konfigurerbara virtuella vÀrdar;
- Stöd för CRC-integritet vid skrivning/lÀsning;
- Halvdynamiska buffrar för minimal minnesanvÀndning och optimal nÀtverksprestanda;
- Fördröjd packning av data;
- Dessutom erbjuds en multitrÄdad kompressor för att flytta filer till Bolt-arkiv utan att stoppa tjÀnsten.
NÄgra begrÀnsningar för den aktuella utgÄvan: ingen stöd för Multipart, POST-metoden, HTTPS-protokollet, bindningar för programmeringssprÄk, rekursiv borttagning av kataloger, inget stöd för att montera strukturen i filsystemet via WebDAV eller FUSE, filer lagras under en systemanvÀndare. Lagringsformatet Àr kopplat till arkitekturen och Àr inte överförbart mellan system med Little Endian och Big Endian. Trots att wZD-servern implementerar stöd för HTTP-protokollet, krÀvs det att den körs under skydd av reversproxy, sÄsom nginx och haproxy.
KĂ€lla: opennet.ru
