Yekem berdana wZD 1.0.0, servera hilanînê ya kompakt ji bo pelên piçûk

Berdeste çapa yekem wZD 1.0.0 - serverek ji bo hilanîna hejmareke mezin a pelan bi rengek bikêrhatî ku ji derve ve wekî serverek WebDAV ya birêkûpêk xuya dike. Guhertoyek guhertî ji bo hilanînê tê bikar anîn BoltDB. Koda projeyê di Go û tê nivîsandin belav kirin ji hêla di bin lîsansa BSD de.

Server Ev rê dide Bi piştgiriya girtina tam hejmara pelên piçûk ên li ser pergalên pelan ên birêkûpêk an kombûyî bi girîngî kêm bikin. Komxebata ku ji hêla pêşdebirên wZD ve tê domandin nêzîkê 250 mîlyon pelên piçûk ên ku li 15 mîlyon pelrêçan belav bûne di FS-ya komkirî de hildide. MooseFS.

wZD dihêle ku naveroka peldankan bi forma BoltDB veguhezîne (arşîv) arşîv bike û dûv re van pelan ji van arşîvan belav bike (an pelan bi rêbaza PUT bixe nav arşîvan), bi girîngî hejmara pelan di FS de kêm bike û kêm bike. sermaya hilanîna metadata. Ji bo zêdekirina karbidestiya hilanîna pelên mezin, pelên weha dikarin ji arşîvên Bolt cuda werin hilanîn. Ev nêzîkatî dihêle hûn hilanîna hejmareke mezin a pelên piçûk organîze bikin, bêyî ku hûn sînorê hejmara inodes di pergala pelan de bixin.

Yekem berdana wZD 1.0.0, servera hilanînê ya kompakt ji bo pelên piçûk

Di heman demê de server dikare wekî databasek NoSQL ji bo daneya bi forma key/nirx (bi parvekirina li ser bingeha avahiya pelrêçê) an jî ji bo belavkirina belgeyên html an json-ê yên pêş-çêkirî ji databasê were bikar anîn. Di warê performansê de, barkirin û nivîsandina daneyan bi karanîna arşîvên Bolt dibe sedema zêdebûna derengiyê bi qasî 20-25% dema xwendinê û 40-50% dema nivîsandinê. Mezinahiya pelê her ku piçûktir bibe, ferqa derengmayînê ew qas piçûktir dibe.

Yekem berdana wZD 1.0.0, servera hilanînê ya kompakt ji bo pelên piçûk

sereke şiyanên:

  • Multithreading;
  • Multiserver, tolerasyona xeletiyê û hevsengkirina barkirinê peyda dike;
  • Zelalbûna herî zêde ji bo bikarhêner an pêşdebirker;
  • Rêbazên HTTP piştgirî kirin: GET, HEAD, PUT û DELETE;
  • Rêvebirina behreya xwendin û nivîsandinê bi navgîniya sernavên alîgirê xerîdar;
  • Piştgiriya ji bo mêvandarên virtual yên pir mîhengkirî;
  • Piştgiriya yekbûna daneya CRC dema nivîsandin / xwendinê;
  • Tamponên nîv-dînamîkî ji bo mezaxtina bîranîna hindiktirîn û ahengkirina performansa torê ya çêtirîn;
  • Pakkirina daneya derengmayî;
  • Digel vê yekê, arşîvek pir-mijarî tê pêşkêş kirin wZA bêyî rawestandina karûbarê pelan biguhezînin arşîvên Bolt.

Hin tixûbên serbestberdana heyî: ne piştgirî ji bo Multipart, rêbaza POST, protokola HTTPS, girêdanên ji bo zimanên bernamekirinê, jêbirina vegerî ya pelrêçan, ne piştgirî ji bo sazkirina avahiyek li pergala pelan bi riya WebDAV an FUSE, pelan di bin yek bikarhênerek pergalê de têne hilanîn. . Forma hilanînê di navbera pergalên Little Endian û Big Endian de mîmarî taybetî ye û ne portable e. Tevî vê rastiyê ku servera wZD ji bo protokola HTTP piştgirî dike, hûn tenê hewce ne ku wê di bin navê proxeyên berevajî de, wek nginx û haproxy, bimeşînin.

Source: opennet.ru

Add a comment