Ensimmäinen julkaisu wZD 1.0.0:sta, pienikokoinen tallennuspalvelin pienille tiedostoille

Saatavilla ensimmäinen painos wZD 1.0.0 - palvelin suuren määrän tiedostojen tehokkaaseen tallentamiseen kompaktissa muodossa, joka ulkopuolelta näyttää tavalliselta WebDAV-palvelimelta. Tallennukseen käytetään muokattua versiota BoltDB. Projektikoodi on kirjoitettu Go ja jakelija BSD-lisenssillä.

Server sen avulla Vähennä merkittävästi pienten tiedostojen määrää tavallisissa tai klusteroiduissa tiedostojärjestelmissä täydellä lukitustuella. wZD-kehittäjien tukema klusteri tallentaa noin 250 miljoonaa pientä tiedostoa, jotka on jaettu 15 miljoonaan hakemistoon klusterin tiedostojärjestelmässä MooseFS.

wZD mahdollistaa hakemistojen sisällön siirtämisen (arkistoinnin) arkistoon BoltDB-muodossa ja sitten näiden tiedostojen jakamisen näistä arkistoista (tai tiedostojen sijoittamisen arkistoon PUT-menetelmällä), mikä vähentää merkittävästi tiedostojen määrää tiedostojärjestelmässä ja vähentää metatietojen tallentamisen yleiskustannuksia. Suurten tiedostojen käsittelyn tehostamiseksi tällaiset tiedostot voidaan tallentaa erikseen Bolt-arkistoista. Tämän lähestymistavan avulla voit järjestää valtavan määrän pienten tiedostojen tallennuksen ilman, että tiedostojärjestelmän inodien määrää rajoittaa.

Ensimmäinen julkaisu wZD 1.0.0:sta, pienikokoinen tallennuspalvelin pienille tiedostoille

Palvelinta voidaan käyttää myös NoSQL-tietokantana avain/arvo-muodossa oleville tiedoille (hakemistorakenteeseen perustuvalla jaolla) tai valmiiksi luotujen html- tai json-dokumenttien jakamiseen tietokannasta. Suorituskyvyn kannalta tietojen lähettäminen ja kirjoittaminen Bolt-arkistojen avulla lisää viivettä noin 20-25 % luettaessa ja 40-50 % kirjoitettaessa. Mitä pienempi tiedostokoko on, sitä pienempi ero latenssissa.

Ensimmäinen julkaisu wZD 1.0.0:sta, pienikokoinen tallennuspalvelin pienille tiedostoille

Pääasiallinen mahdollisuuksia:

  • Monisäikeinen;
  • Monipalvelin, joka tarjoaa vikasietoisuuden ja kuormituksen tasapainotuksen;
  • Maksimaalinen läpinäkyvyys käyttäjälle tai kehittäjälle;
  • Tuetut HTTP-menetelmät: GET, HEAD, PUT ja DELETE;
  • Luku- ja kirjoituskäyttäytymisen hallinta asiakasotsikoiden kautta;
  • Joustavien virtuaalisten isäntien tuki;
  • Tuki CRC-tietojen eheydelle kirjoitettaessa/luettaessa;
  • Puolidynaamiset puskurit minimaaliseen muistinkulutukseen ja optimaaliseen verkon suorituskyvyn viritykseen;
  • Viivästetty tietojen pakkaus;
  • Lisäksi tarjolla on monisäikeinen arkistointilaite wZA siirtää tiedostoja Bolt-arkistoon pysäyttämättä palvelua.

Joitakin nykyisen julkaisun rajoituksia: ei tueta Multipartia, POST-menetelmää, HTTPS-protokollaa, ohjelmointikielten sidontoja, hakemistojen rekursiivista poistamista, ei tueta rakenteen liittämistä tiedostojärjestelmään WebDAV:n tai FUSE:n kautta, tiedostot tallennetaan yhden järjestelmän käyttäjän alle. Tallennusmuoto on arkkitehtuurikohtainen, eikä sitä voi siirtää Little Endian- ja Big Endian -järjestelmien välillä. Huolimatta siitä, että wZD-palvelin tukee HTTP-protokollaa, se on käynnistettävä vain käänteisten välityspalvelinten, kuten nginx ja haproxy, varjolla.

Lähde: opennet.ru

Lisää kommentti