Bidh pròiseact Dragonfly a’ leasachadh ath-chur nas luaithe airson Redis agus Memcached

Tha a’ chiad fhoillseachadh de shiostam caching cuimhne Dragonfly ri fhaighinn, a’ toirt taic do phròtacalan Memcached agus Redis, ach a’ leigeil le ceistean a bhith air an cur an gnìomh le coileanadh mòran nas àirde agus nas lugha de chaitheamh cuimhne. Bidh an siostam a’ làimhseachadh dàta ann an cruth prìomh / luach agus faodar a chleachdadh mar fhuasgladh aotrom gus obair làraich làn luchd a luathachadh, a’ tilgeil cheistean slaodach don DBMS agus dàta eadar-mheadhanach ann an RAM. Tha còd Dragonfly sgrìobhte ann an C/C++ agus air a chuairteachadh fon BSL (Ceadachas Stòr Gnìomhachais).

Chaidh cead BSL a mholadh le co-stèidheadairean MySQL mar roghainn eile an àite a’ mhodail Open Core. Is e brìgh BSL gu bheil an còd gnìomh adhartach ri fhaighinn an toiseach airson atharrachadh, ach airson ùine faodar a chleachdadh an-asgaidh a-mhàin ma thèid cumhachan a bharrachd a choileanadh, a dh’ fheumas cead malairteach a cheannach gus faighinn seachad air. Feumaidh teirmean cead a bharrachd de phròiseact Dragonfly an còd a ghluasad gu cead Apache 2.0 a-mhàin air 1 Ògmhios, 2027. Gu ruige seo, tha an cead a’ ceadachadh a’ chòd a chleachdadh a-mhàin gus dèanamh cinnteach à obrachadh a sheirbheisean agus a thoraidhean, ach tha e a’ toirmeasg cleachdadh airson seirbheisean sgòthan pàighte a chruthachadh a bhios mar chur-ris do Dragonfly.

A rèir an luchd-leasachaidh agus deuchainnean dearbhte, tha Dragonfly ag ràdh gur e seo an siostam stòraidh cuimhne as luaithe. An coimeas ri Redis, choilean Dragonfly àrdachadh 25-fhillte ann an coileanadh agus lùghdachadh trì-fhillte ann an caitheamh cuimhne airson eallach obrach àbhaisteach. Faodaidh aon fhrithealaiche Dragonfly na milleanan de iarrtasan gach diog a phròiseasadh, mar eisimpleir, ann an àrainneachd Amazon EC2 c6gn.16xlarge bha e comasach coileanadh de 3.8 millean iarrtas gach diog a choileanadh.

Bidh pròiseact Dragonfly a’ leasachadh ath-chur nas luaithe airson Redis agus Memcached

Ann an deuchainnean airson 5 GB de dhàta a stòradh, bha feum aig Dragonfly air 30% nas lugha de chuimhne na Redis. Nuair a chruthaicheas tu dealbhan leis an àithne “bgsave”, bidh caitheamh cuimhne a’ dol am meud, ach aig amannan as àirde tha e fhathast faisg air trì tursan nas lugha na ann an Redis, agus tha an obair clàraidh dhealbhan fhèin fada nas luaithe (anns an deuchainn, chaidh dealbh beag ann an Dragonfly a sgrìobhadh ann an 30 diogan, fhad 'sa Redis - ann an 42 diogan).

Bidh pròiseact Dragonfly a’ leasachadh ath-chur nas luaithe airson Redis agus Memcached

Tha àrd-choileanadh air a choileanadh le taing do ailtireachd ioma-snàthainn gun a bhith a’ roinneadh ghoireasan (rud sam bith co-roinnte), a tha a ’ciallachadh gu bheil pròiseasar fa leth air a thoirt do gach snàithlean le a chuibhreann fhèin de dhàta, ag obair às aonais mutexes agus glasan snìomh. Gus dèanamh cinnteach à atomachd nuair a bhios tu ag obair le grunn iuchraichean, thathas a’ cleachdadh glasan VLL aotrom. Gus fiosrachadh a stòradh gu h-èifeachdach mar chuimhneachan, thathas a ’cleachdadh an structar dashtable, a bhios a’ cur an gnìomh seòrsa de bhòrd hash sgaraichte.

Am measg nam feartan a tha rim faighinn sa chiad fhoillseachadh, thathas a’ toirt fa-near taic don phròtacal RESP2 agus òrdughan 130 Redis, a tha timcheall air a rèir gnìomhachd an sgaoileadh Redis 2.8. A bharrachd air an sin, tha Dragonfly a’ toirt taic do gach òrdugh memcached ach a-mhàin CAS (check-and-set), a’ toirt taic do ghnìomhachd asyncronach airson dealbhan a chruthachadh, a’ toirt seachad caitheamh cuimhne a tha dùil, a’ toirt seachad eadar-theangair Lua 5.4 togte, agus a’ toirt taic do sheòrsan dàta iom-fhillte leithid hashes, seataichean, agus liostaichean (ZSET, HSET, LIST, SETS agus STRING).

Tha modh caching ri fhaighinn air leth, a chuireas gu fèin-ghluasadach an àite seann dàta le dàta ùr às deidh don chuimhne an-asgaidh a bhith sgìth. Tha e comasach beatha a cheangal ris an dàta nuair a thathas a’ meas gu bheil an dàta buntainneach. Faodar staid stòraidh a chuir gu diosc air a’ chùl airson faighinn air ais nas fhaide air adhart às deidh ath-thòiseachadh. Gus an siostam a riaghladh, tha consol HTTP air a thoirt seachad (a ’ceangal ri port TCP 6379) agus API airson meatrach a thilleadh, a tha co-chosmhail ri Prometheus. Ann an dreachan san àm ri teachd, tha sinn an dùil taic a leudachadh airson òrdughan Redis agus an comas stòradh ath-riochdachadh gus fulangas sgàinidhean agus cothromachadh luchdan a thoirt seachad.

Source: fosgailtenet.ru

Cuir beachd ann