Första utgÄvan av wZD 1.0.0, servrar för kompakt lagring av smÄ filer

TillgĂ€nglig första utgĂ„van wZD 1.0.0 — 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 BoltDB. Projektets kod Ă€r skriven i sprĂ„ket Go och sprids under BSD-licensen.

Servern möjliggör 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 MooseFS.

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.

Första utgÄvan av wZD 1.0.0, servrar för kompakt lagring av smÄ filer

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.

Första utgÄvan av wZD 1.0.0, servrar för kompakt lagring av smÄ filer

Huvud möjligheten till:

  • 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 wZA 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

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster