første udgave — servere til effektiv opbevaring af et stort antal filer i kompakt format, som udefra ligner en almindelig WebDAV-server. Til opbevaring anvendes en modificeret version . Projektkoden er skrevet i Go-sproget og under BSD-licensen.
Server kan betydeligt reducere antallet af små filer på almindelige eller klyngede filsystemer med fuld understøttelse af låsning. Den understøttede wZD-klynge opbevarer omkring 250 millioner små filer fordelt på 15 millioner mapper i klynge-FS .
wZD giver mulighed for at flytte (arkivere) indholdet af mapper til arkiver i BoltDB-format og derefter distribuere disse filer fra disse arkiver (eller indsætte filer i arkiverne med PUT-metoden), hvilket væsentligt reducerer antallet af filer i FS og mindsker overhead-omkostningerne til opbevaring af metadata. For at forbedre effektiviteten af behandlingen af store filer kan sådanne filer opbevares separat fra Bolt-arkiverne. En sådan tilgang muliggør opbevaring af et enormt antal små filer uden at ramme grænsen for antallet af inode i filsystemet.
Serveren kan også bruges som NoSQL-database til nøgle/værdi-data (med sharding baseret på mappestrukturen) eller til at distribuere forudgenererede HTML- eller JSON-dokumenter fra databasen. I forhold til ydeevne fører brug af Bolt-arkiver til en stigning i latensen på cirka 20-25% ved læsning og 40-50% ved skrivning. Jo mindre filen er, desto mindre er forskellene i latens.
Vigtige :
- Multitrådning;
- Multiserveropsætning, der sikrer fejl tolerance og belastningsbalancering;
- Maksimal gennemsigtighed for brugerne eller udvikleren;
- Understøttede HTTP-metoder: GET, HEAD, PUT og DELETE;
- Styring af adfærd ved læsning og skrivning gennem klientoverskrifter;
- Understøttelse af fleksibelt konfigurerbare virtuelle værter;
- Understøttelse af CRC-integritet ved skrivning/læsning;
- Halvdynamiske buffere for minimal hukommelsesforbrug og optimal justering af netværksydelse;
- Forsinket pakning af data;
- Derudover tilbydes en multitrådet arkiveringsfunktion til at flytte filer til Bolt-arkiver uden at stoppe tjenesten.
Nogle begrænsninger i den nuværende version: ingen støtte til Multipart, POST-metoden, HTTPS-protokollen, bindings til programmeringssprog, rekursiv sletning af mapper, ingen støtte til montering af strukturen i filsystemet via WebDAV eller FUSE, filer gemmes under en enkelt systembruger. Lagringsformatet er bundet til arkitekturen og er ikke portabelt mellem Little Endian og Big Endian-systemer. Selvom serveren wZD implementerer støtte til HTTP-protokollen, skal den køres bag en reverse proxy, såsom nginx og haproxy.
Kilde: opennet.ru
