Mashruuca Dragonfly wuxuu horumarinayaa beddelka degdegga ah ee Redis iyo Memcached

Siideynta ugu horreysa ee nidaamka kaydinta xusuusta gudaha Dragonfly waa la heli karaa, iyadoo taageero siinaysa borotokoolka Memcached iyo Redis, laakiin u oggolaanaya su'aalaha in lagu fuliyo waxqabad aad u sarreeya iyo isticmaalka xusuusta yar. Nidaamku waxa uu u maamulaa xogta qaab furaha/qiimaha ah waxaana loo isticmaali karaa xal khafiif ah si loo dedejiyo shaqada goobaha culayska badan, kaydinta su'aalaha gaabis ah ee DBMS iyo xogta dhexe ee RAM. Koodhka Dragonfly wuxuu ku qoran yahay C/C++ waxaana lagu qaybiyaa BSL (Shatiga Isha Ganacsiga).

Shatiga BSL waxaa soo jeediyay la-aasaasayaasha MySQL si uu beddel ugu noqdo moodalka Furaha. Nuxurka BSL waa in koodhka shaqada horumarsan uu marka hore diyaar u yahay in wax laga beddelo, laakiin in muddo ah waxaa loo isticmaali karaa lacag la'aan kaliya haddii shuruudo dheeraad ah la buuxiyo, kuwaas oo u baahan iibsashada shatiga ganacsiga si looga gudbo. Shuruudaha shatiga dheeriga ah ee mashruuca Dragonfly wuxuu u baahan yahay koodka in lagu wareejiyo shatiga Apache 2.0 kaliya Juun 1, 2027. Ilaa wakhtigan, shatigu wuxuu u oggolaanayaa isticmaalka koodhka kaliya si loo hubiyo hawlgalka adeegyadeeda iyo alaabteeda, laakiin waxay mamnuucaysaa adeegsiga abuuritaanka adeegyada daruuriga ah ee lacag bixinta ah ee u dhaqma sidii wax-ku-darka Dragonfly.

Marka loo eego soosaarayaasha iyo tijaabooyinka la soo bandhigay, Dragonfly waxay sheeganeysaa inay tahay nidaamka kaydinta xusuusta ugu dhaqsaha badan. Marka la barbar dhigo Redis, Dragonfly wuxuu gaadhay 25-laab koror xagga waxqabadka ah iyo hoos u dhac saddex laab ah oo isticmaalka xusuusta culeysyada shaqada caadiga ah. Mid ka mid ah server-ka Dragonfly wuxuu ka baaraandegi karaa malaayiin codsiyo ah ilbiriqsi kasta, tusaale ahaan, Amazon EC2 c6gn.16xlarge bey'adda waxaa suurtagal ah in la gaaro waxqabadka 3.8 milyan codsi ilbiriqsikii.

Mashruuca Dragonfly wuxuu horumarinayaa beddelka degdegga ah ee Redis iyo Memcached

Tijaabooyin lagu kaydinayo 5 GB oo xog ah, Dragonfly waxay u baahday 30% xasuus ka yar tan Redis. Markaad abuurto sawir-qaade leh amarka "bgsave", isticmaalka xusuusta ayaa kordha, laakiin daqiiqadaha ugu sarreeya waxay ku sii jirtaa ku dhawaad ​​​​saddex jeer in ka yar tan Redis, iyo hawlgalka duubista sawir-qaadista lafteedu aad ayey u dhakhso badan tahay (imtixaanka, sawirka Dragonfly ayaa lagu qoray 30). ilbiriqsi, halka Redis - in 42 seconds).

Mashruuca Dragonfly wuxuu horumarinayaa beddelka degdegga ah ee Redis iyo Memcached

Waxqabadka sare waxaa lagu gaaraa iyadoo ay ugu wacan tahay qaab dhismeedka dunta badan leh iyada oo aan la wadaagin agabka (la wadaago-waxba), taas oo macnaheedu yahay in dun kasta loo qoondeeyay processor u gaar ah oo qaybtiisa xogta ah leh, oo shaqeynaya iyada oo aan lahayn mutex-yada iyo qufullada lafdhabarta. Si loo hubiyo atomicity marka lagu shaqeynayo furayaal badan, qufulyada VLL ee fudud ayaa la isticmaalaa. Si si hufan loogu kaydiyo macluumaadka xusuusta, qaab-dhismeedka dashtable ayaa la isticmaalaa, kaas oo hirgeliya nooc ka mid ah miiska xashiishka oo qaybsan.

Waxaa ka mid ah sifooyinka laga heli karo siideynta koowaad, taageerada hab-maamuuska RESP2 iyo 130 Redis amarrada ayaa la xusay, kuwaas oo qiyaastii u dhigma shaqeynta Redis 2.8 siideynta. Intaa waxaa dheer, Dragonfly waxay taageertaa dhammaan amarrada memcached marka laga reebo CAS (Check-and-set), waxay siisaa taageerada hawlgallada isku midka ah ee abuurista sawir-qaadista, waxay siisaa isticmaalka xusuusta la saadaalin karo, waxay bixisaa turjumaan Lua 5.4 ku dhex dhisan, waxayna taageertaa noocyada xogta adag sida xashiishka, liisaska, iyo liisaska (ZSET, HSET, LIST, SETS iyo STRING).

Habka kaydinta ayaa si gaar ah loo heli karaa, kaas oo si toos ah ugu beddelaya xogtii hore xog cusub ka dib marka xusuusta xorta ah ay dhamaato. Waxaa suurtogal ah in lagu lifaaqo cimriga inta lagu jiro xogta inta lagu jiro xogta loo arko inay habboon tahay. Xaaladda kaydinta waxaa lagu shubi karaa saxan gadaasha si ay dib ugu soo kabsato ka dib dib u bilowdo. Si loo maareeyo nidaamka, konsole HTTP ayaa la bixiyaa (ku xidha dekedda TCP 6379) iyo API soo celinta cabbirada, oo la jaan qaadaya Prometheus. Noocyada mustaqbalka, waxaan qorsheyneynaa inaan ballaarino taageerada amarrada Redis oo aan hirgelinno awoodaha ku-celinta kaydinta ee dulqaadka cilladaha iyo isu-dheellitirka culeyska.

Source: opennet.ru

Add a comment