Första utgåvan av wZD 1.0.0, kompakt lagringsserver för små filer

Tillgängliga första upplagan wZD 1.0.0 - en server för att effektivt lagra ett stort antal filer i en kompakt form, som från utsidan ser ut som en vanlig WebDAV-server. En modifierad version används för lagring BoltDB. Projektkoden är skriven i Go och levererad av under BSD-licensen.

Server det gör Minska avsevärt antalet små filer på vanliga eller klustrade filsystem med fullt låsningsstöd. Klustret som stöds av wZD-utvecklare lagrar cirka 250 miljoner små filer fördelade på 15 miljoner kataloger i klusterfilsystemet ÄlgFS.

wZD gör det möjligt att flytta (arkivera) innehållet i kataloger till arkiv i BoltDB-formatet och sedan distribuera dessa filer från dessa arkiv (eller placera filer i arkiv med PUT-metoden), vilket avsevärt minskar antalet filer i filsystemet och minskar kostnaderna för att lagra metadata. För att öka effektiviteten i behandlingen av stora filer kan sådana filer sparas separat från Bolts arkiv. Detta tillvägagångssätt låter dig organisera lagringen av ett stort antal små filer utan att begränsas av gränsen för antalet inoder i filsystemet.

Första utgåvan av wZD 1.0.0, kompakt lagringsserver för små filer

Servern kan även användas som en NoSQL-databas för data i nyckel-/värdeformat (med sharding baserat på katalogstrukturen) eller för att distribuera förgenererade html- eller json-dokument från databasen. När det gäller prestanda resulterar sändning och skrivning av data med hjälp av Bolt-arkiv i en ökning av latensen på cirka 20-25% vid läsning och med 40-50% vid skrivning. Ju mindre filstorlek, desto mindre skillnad i latens.

Första utgåvan av wZD 1.0.0, kompakt lagringsserver för små filer

Den huvudsakliga möjligheter:

  • Multithreading;
  • Multiserver, ger feltolerans och lastbalansering;
  • Maximal transparens för användaren eller utvecklaren;
  • HTTP-metoder som stöds: GET, HEAD, PUT och DELETE;
  • Kontroll av läs- och skrivbeteende via klientrubriker;
  • Stöd för flexibla virtuella värdar;
  • Stöd för CRC-dataintegritet vid skrivning/läsning;
  • Semidynamiska buffertar för minimal minnesförbrukning och optimal inställning av nätverksprestanda;
  • Uppskjuten datapaketering;
  • Dessutom erbjuds en flertrådig arkivering wZA för att flytta filer till Bolt-arkiv utan att stoppa tjänsten.

Några begränsningar av den aktuella versionen: det finns inget stöd för Multipart, POST-metoden, HTTPS-protokollet, bindningar för programmeringsspråk, rekursiv radering av kataloger, det finns inget stöd för att montera en struktur till filsystemet via WebDAV eller FUSE, filer lagras under en systemanvändare. Lagringsformatet är arkitekturspecifikt och är inte portabelt mellan Little Endian- och Big Endian-system. Trots att wZD-servern implementerar stöd för HTTP-protokollet, behöver den endast startas under sken av omvända proxyservrar, såsom nginx och haproxy.

Källa: opennet.ru

Lägg en kommentar