Eerste vrystelling van wZD 1.0.0, kompakte bergingbediener vir klein lêers

Beskikbaar eerste uitgawe wZD 1.0.0 - 'n bediener vir die doeltreffende stoor van 'n groot aantal lêers in 'n kompakte vorm, wat van buite lyk soos 'n gewone WebDAV-bediener. 'n Gewysigde weergawe word vir berging gebruik BoltDB. Die projekkode is geskryf in Gaan en versprei deur onder die BSD-lisensie.

Bediener dit laat Verminder die aantal klein lêers op gewone of gegroepeerde lêerstelsels aansienlik met volledige sluitsteun. Die groepering wat deur wZD-ontwikkelaars ondersteun word, stoor ongeveer 250 miljoen klein lêers versprei oor 15 miljoen dopgehou in die groeplêerstelsel MooseFS.

wZD maak dit moontlik om die inhoud van gidse in die BoltDB-formaat na argiewe te skuif (argief) en dan hierdie lêers vanaf hierdie argiewe te versprei (of lêers in argiewe te plaas deur die PUT-metode te gebruik), wat die aantal lêers in die lêerstelsel aansienlik verminder en die vermindering van die bokoste van die berging van metadata. Om die doeltreffendheid van die verwerking van groot lêers te verhoog, kan sulke lêers apart van Bolt-argiewe gestoor word. Met hierdie benadering kan u die berging van 'n groot aantal klein lêers organiseer sonder om beperk te word deur die beperking op die aantal inodes in die lêerstelsel.

Eerste vrystelling van wZD 1.0.0, kompakte bergingbediener vir klein lêers

Die bediener kan ook as 'n NoSQL-databasis gebruik word vir data in sleutel/waarde-formaat (met versplintering gebaseer op die gidsstruktuur) of vir die verspreiding van voorafgegenereerde html- of json-dokumente vanaf die databasis. Wat prestasie betref, lei die stuur en skryf van data met behulp van Bolt-argiewe tot 'n toename in latensie van ongeveer 20-25% tydens lees en met 40-50% tydens skryf. Hoe kleiner die lêergrootte, hoe kleiner is die verskil in latensie.

Eerste vrystelling van wZD 1.0.0, kompakte bergingbediener vir klein lêers

Die belangrikste geleenthede:

  • Multithreading;
  • Multibediener, verskaffing van fouttoleransie en lasbalansering;
  • Maksimum deursigtigheid vir die gebruiker of ontwikkelaar;
  • Ondersteunde HTTP-metodes: GET, HEAD, PUT en DELETE;
  • Bestuur van lees- en skryfgedrag deur opskrifte aan die kliëntkant;
  • Ondersteuning vir hoogs konfigureerbare virtuele gashere;
  • Ondersteuning vir CRC-data-integriteit tydens skryf/lees;
  • Semi-dinamiese buffers vir minimale geheueverbruik en optimale netwerkprestasie-instelling;
  • Uitgestelde dataverpakking;
  • Daarbenewens word 'n multi-draad argiefhouer aangebied wZA om lêers na Bolt-argiewe te skuif sonder om die diens te stop.

Sommige beperkings van die huidige vrystelling: daar is geen ondersteuning vir Multipart, die POST-metode, die HTTPS-protokol, bindings vir programmeertale, rekursiewe uitvee van gidse, daar is geen ondersteuning vir die montering van 'n struktuur aan die lêerstelsel via WebDAV of FUSE, lêers word onder een stelselgebruiker gestoor. Die stoorformaat is argitektuurspesifiek en is nie draagbaar tussen Little Endian en Big Endian stelsels nie. Ten spyte van die feit dat die wZD-bediener ondersteuning vir die HTTP-protokol implementeer, hoef dit slegs geloods te word onder die dekmantel van omgekeerde gevolmagtigdes, soos nginx en haproxy.

Bron: opennet.ru

Voeg 'n opmerking