Kuburitswa kwe Dragonfly 1.0, system ye caching data mu RAM

Iyo Dragonfly in-memory caching uye kuchengetedza system yakaburitswa, iyo inoshandura data mukiyi / kukosha fomati uye inogona kushandiswa seyakareruka mhinduro yekumhanyisa basa renzvimbo dzakaremerwa zvakanyanya, caching inononoka kubvunza kuDBMS uye yepakati data mu RAM. Dragonfly inotsigira iyo Memcached uye Redis mapuroteni, ayo anotendera iwe kuti ushandise aripo evatengi maraibhurari uye kutamisa mapurojekiti uchishandisa Memcached uye Redis kuenda kuDragonfly pasina kugadzirisa zvakare kodhi.

Kana ichienzaniswa neRedis, Dragonfly yakawana kuwedzera kwe2-fold mukuita (6 mamiriyoni ekukumbira pasekondi) yezvakajairwa basa muAmazon EC16 c25gn.3.8xlarge nharaunda. Kuenzaniswa neMemcached muAWS c6gn.16xlarge environment, Dragonfly yakakwanisa kuita 4.7 times more kunyora zvikumbiro pasekondi (3.8 miriyoni maringe ne806 zviuru) uye 1.77 times more kuverenga zvikumbiro pasekondi (3.7 miriyoni maringe ne2.1 miriyoni).

Kuburitswa kwe Dragonfly 1.0, system ye caching data mu RAM

Mukuedza kuchengetedza 5 GB yedata, Dragonfly yaida 30% yakaderera ndangariro pane Redis. Paunenge uchigadzira snapshots ne "bgsave" murairo, ndangariro inowedzera, asi panguva dzepamusoro yakaramba yakapetwa katatu pane muRedis, uye snapshot kurekodha oparesheni pachayo inokurumidza zvakanyanya (mubvunzo, snapshot mu Dragonfly yakanyorwa mumakumi matatu. masekondi, nepo Redis - mumasekonzi makumi mana nemaviri).

Kuburitswa kwe Dragonfly 1.0, system ye caching data mu RAM

Kuita kwepamusoro kunowanikwa nekuda kwekuvakwa kwakaomeswa kwakawanda pasina kugovana zviwanikwa (kugoverana-hapana), izvo zvinoreva kuti shinda yega yega inopihwa yakaparadzana processor ine chikamu chayo che data, ichishanda isina mutexes uye spin makiyi. Kuve nechokwadi cheatomicity kana uchishanda nemakiyi akawanda, huremu hweVLL makiyi anoshandiswa. Kuti uchengetedze ruzivo mundangariro, iyo dashtable chimiro inoshandiswa, iyo inoshandisa mhando yeakaganhurwa hashi tafura.

Zvimwe zve Dragonfly:

  • Caching mode, iyo inotsiva yekare data ne data nyowani mushure memahara ndangariro yapera.
  • Tsigiro yekusunga kune data kwehupenyu hwese iyo data inoonekwa seyakakosha.
  • Tsigiro yekutsvaira mamiriro ekuchengetedza kudhisiki kumashure kwekuzopora mushure mekutangazve.
  • Kuvapo kweHTTP console (inosungira kuTCP port 6379) yehurongwa hwekutonga uye API yekudzoka metrics, inoenderana nePrometheus.
  • Tsigiro ye185 Redis mirairo, iyo inenge yakaenzana nekushanda kwekuburitswa kweRedis 5.
  • Inotsigira yese Memcached mirairo kunze kweCAS (cheki-uye-seta).
  • Tsigiro yeasynchronous mashandiro ekugadzira snapshots.
  • Kufanotaura kushandiswa kwendangariro.
  • Yakavakwa-mukati Lua 5.4 muturikiri.
  • Inotsigira mhando dze data dzakaoma senge hashi, seti, zvinyorwa (ZSET, HSET, LIST, SETS uye STRING) uye JSON data.
  • Inotsigira kuchengetedza kudzokororwa kwekutadza kushivirira uye kuyera kuremerwa.

Iyo Dragonfly kodhi yakanyorwa muC/C++ uye inogoverwa pasi peBSL (Business Source License). Iyo BSL rezenisi yakakurudzirwa nevakabatana navo MySQL seimwe nzira kune iyo Open Core modhi. Izvo zvakakosha zveBSL ndezvekuti iyo kodhi yekushanda kwepamusoro inotanga kuwanikwa kuti igadziriswe, asi kwenguva yakati inogona kushandiswa pasina muripo chete kana mamwe mamiriro akazadzikiswa, izvo zvinoda kutengwa kwerezinesi rekutengesa kunzvenga. Marezinesi ekuwedzera marezinesi epurojekiti yeDragonfly anoda kuti kodhi iendeswe kuApache 2.0 rezinesi musi waKurume 15, 2028. Kusvika panguva ino, rezinesi rinobvumira kushandiswa kwekodhi chete kuti ive nechokwadi chekushanda kwemasevhisi ayo uye zvigadzirwa, asi inorambidza kushandiswa kwekugadzirwa kweakabhadharwa makore masevhisi anoita sekuwedzera kune Dragonfly.

Shanduro Dragonfly 1.0 ine mukurumbira mukuitwa kwayo kwerutsigiro rwekudzokorodza data kubva kune yekutanga server kuenda kune yechipiri. Nekudaro, Dragonfly inogona kugadzirwa kuti ishandiswe seyechipiri chengetedzo inogamuchira data kubva kune yekutanga server ingave yakavakirwa paDhikonifly kana yakavakirwa paRedis. Iyo replication management API inoenderana neRedis uye yakavakirwa pakushandiswa kweiyo ROLE uye REPLICAOF (SLAVEOF) mirairo.

Source: opennet.ru

Voeg