Éischt Verëffentlechung vun wZD 1.0.0, engem Server fir kompakt Stockage vun kleng Fichieren

Verfügbar éischt Editioun wZD 1.0.0 - e Server fir effizient eng grouss Zuel vu Dateien an enger kompakter Form ze späicheren, déi vu baussen ausgesäit wéi e normale WebDAV Server. Eng modifizéiert Versioun gëtt fir Späichere benotzt BoltDB. De Projet Code ass a Go an verdeelt duerch ënner der BSD Lizenz.

Server et erlaabt Bedeitend reduzéieren d'Zuel vu klenge Dateien op regelméissegen oder clustered Dateisystemer mat voller Sperrënnerstëtzung. De Cluster ënnerstëtzt vun wZD Entwéckler späichert ongeféier 250 Millioune kleng Dateie verdeelt iwwer 15 Millioune Verzeechnes am Cluster Dateisystem MooseFS.

wZD mécht et méiglech, den Inhalt vun den Verzeichnisser an Archiven am BoltDB-Format ze plënneren (archivéieren) an dann dës Dateien aus dësen Archiven ze verdeelen (oder Dateien an Archiven mat der PUT-Methode placéieren), wat d'Zuel vun de Dateien am Dateiesystem wesentlech reduzéiert an d'Reduktioun vum Overhead fir Metadaten ze späicheren. Fir d'Effizienz vun der Veraarbechtung vu grousse Dateien ze erhéijen, kënnen esou Dateien getrennt vu Bolt-Archiven gespäichert ginn. Dës Approche erlaabt Iech d'Späichere vun enger riesecher Unzuel vu klenge Dateien z'organiséieren ouni ze limitéieren vun der Limit vun der Unzuel vun Inoden am Dateiesystem.

Éischt Verëffentlechung vun wZD 1.0.0, engem Server fir kompakt Stockage vun kleng Fichieren

De Server kann och als NoSQL Datebank fir Daten am Schlëssel / Wäertformat benotzt ginn (mat Sharding baséiert op der Verzeechnesstruktur) oder fir pre-generéiert HTML oder json Dokumenter aus der Datebank ze verdeelen. Wat d'Performance ugeet, d'Schécken an d'Schreiwen vun Daten mat Bolt-Archiven resultéiert zu enger Erhéijung vun der Latenz vun ongeféier 20-25% beim Liesen an ëm 40-50% beim Schreiwen. Wat méi kleng d'Dateigréisst ass, dest méi kleng ass den Ënnerscheed an der latency.

Éischt Verëffentlechung vun wZD 1.0.0, engem Server fir kompakt Stockage vun kleng Fichieren

Haaptstrooss Méiglechkeete:

  • Multithreading;
  • Multiserver, Feeler Toleranz a Laaschtbalancéierung ubitt;
  • Maximal Transparenz fir de Benotzer oder Entwéckler;
  • Ënnerstëtzt HTTP Methoden: GET, HEAD, PUT a DELETE;
  • Kontroll vum Lies- a Schreifverhalen iwwer Client Header;
  • Ënnerstëtzung fir flexibel virtuell Hosten;
  • Ënnerstëtzung fir CRC Datenintegritéit beim Schreiwen / Liesen;
  • Semi-dynamesch Puffer fir minimal Erënnerung Konsum an optimal Reseau Leeschtung tuning;
  • Deferred Datenverpackung;
  • Zousätzlech gëtt e Multi-threaded Archiver ugebueden wZA fir Dateien op Bolt Archiven ze réckelen ouni de Service ze stoppen.

E puer Aschränkungen vun der aktueller Verëffentlechung: et gëtt keng Ënnerstëtzung fir Multipart, d'POST-Methode, den HTTPS-Protokoll, Bindungen fir Programméierungssproochen, rekursive Läschen vun Verzeichnisser, et gëtt keng Ënnerstëtzung fir eng Struktur op de Dateiesystem iwwer WebDAV oder FUSE ze montéieren, Dateien sinn ënner engem System Benotzer gespäichert. De Späicherformat ass Architekturspezifesch an ass net portabel tëscht Little Endian a Big Endian Systemer. Trotz der Tatsaach, datt de wZD-Server Ënnerstëtzung fir den HTTP-Protokoll implementéiert, muss et nëmmen ënner dem Deckmantel vu Reverse Proxyen, wéi nginx an Haproxy, lancéiert ginn.

Source: opennet.ru

Setzt e Commentaire