Nipa gbigbe lati Redis si Redis-cluster

Nipa gbigbe lati Redis si Redis-cluster

Wiwa si ọja ti o ti ndagbasoke fun diẹ sii ju ọdun mẹwa lọ, kii ṣe iyalẹnu rara lati wa awọn imọ-ẹrọ igba atijọ ninu rẹ. Ṣugbọn kini ti o ba jẹ pe ni oṣu mẹfa o ni lati tọju ẹru naa ni igba mẹwa 10 ti o ga julọ, ati pe iye owo ti ṣubu yoo pọ si awọn ọgọọgọrun igba? Ni ọran yii, o nilo ẹlẹrọ Highload ti o tutu. Ṣùgbọ́n ní àìsí ìránṣẹ́bìnrin kan, wọ́n fi mí lé mi lọ́wọ́ láti yanjú ìṣòro náà. Ni apakan akọkọ ti nkan naa, Emi yoo sọ fun ọ bi a ti gbe lati Redis si Redis-cluster, ati ni apakan keji Emi yoo fun imọran lori bi o ṣe le bẹrẹ lilo iṣupọ ati kini lati san ifojusi si nigba lilo rẹ.

Aṣayan ọna ẹrọ

Ṣe o buru bẹ? lọtọ Redis (standalone redis) ni a iṣeto ni ti 1 titunto si ati N ẹrú? Kini idi ti MO fi pe ni imọ-ẹrọ ti igba atijọ?

Rara, Redis kii ṣe buburu yẹn… sibẹsibẹ, awọn ailagbara kan wa ti a ko le foju parẹ.

  • Ni akọkọ, Redis ko ṣe atilẹyin awọn ilana imularada ajalu lẹhin ikuna titunto si. Lati yanju iṣoro yii, a lo iṣeto pẹlu gbigbe laifọwọyi ti VIPs si titunto si titun kan, iyipada ipa ti ọkan ninu awọn ẹrú ati yiyi iyokù pada. Ilana yii ṣiṣẹ, ṣugbọn ko le pe ni ojutu ti o gbẹkẹle. Ni akọkọ, awọn itaniji eke waye, ati keji, o jẹ isọnu, ati lẹhin awọn iṣe afọwọṣe iṣẹ ni a nilo lati gba agbara si orisun omi.

  • Ni ẹẹkeji, nini oluwa kan ṣoṣo yori si iṣoro ti sharding. A ni lati ṣẹda ọpọlọpọ awọn iṣupọ ominira “olori 1 ati awọn ẹrú N,” lẹhinna pẹlu ọwọ pin awọn apoti isura data laarin awọn ẹrọ wọnyi ati nireti pe ọla ọkan ninu awọn apoti isura infomesonu kii yoo wú pupọ pe yoo ni lati gbe lọ si apẹẹrẹ lọtọ.

Kini awọn aṣayan?

  • Ojutu ti o gbowolori ati ọlọrọ julọ ni Redis-Enterprise. Eyi jẹ ojutu apoti pẹlu atilẹyin imọ-ẹrọ ni kikun. Bíótilẹ o daju pe o dabi apẹrẹ lati oju wiwo imọ-ẹrọ, ko baamu wa fun awọn idi arojinle.
  • Redis-cluster. Ninu apoti atilẹyin wa fun ikuna oluwa ati sharding. Ni wiwo jẹ fere ko si yatọ si lati awọn deede ti ikede. O dabi ẹnipe o ni ileri, a yoo sọrọ nipa awọn ipalara nigbamii.
  • Tarantool, Memcache, Aerospike ati awọn miiran. Gbogbo awọn irinṣẹ wọnyi ṣe lẹwa Elo ohun kanna. Ṣugbọn ọkọọkan ni awọn ailagbara tirẹ. A pinnu lati ko gbogbo eyin wa sinu agbọn kan. A lo Memcache ati Tarantool fun awọn iṣẹ-ṣiṣe miiran, ati pe, n wo iwaju, Emi yoo sọ pe ninu iṣe wa awọn iṣoro diẹ sii pẹlu wọn.

Awọn pato ti lilo

Jẹ ki a wo awọn iṣoro wo ni a ti yanju itan-akọọlẹ pẹlu Redis ati iṣẹ ṣiṣe ti a lo:

  • Kaṣe ṣaaju awọn ibeere si awọn iṣẹ latọna jijin bii 2GIS | Golang

    Gba SET MGET MSET "Yan DB"

  • Kaṣe ṣaaju MYSQL | PHP

    Gba SET MGET MSET wíwo "Kọkọrọ nipasẹ PATTERN" "Yan DB"

  • Ibi ipamọ akọkọ fun iṣẹ ti ṣiṣẹ pẹlu awọn akoko ati awọn ipoidojuko awakọ | Golang

    Gba SET MGET MSET "Yan DB" "ṢẸ KEY GEO" "Gbà GEO KEY" wíwo

Bi o ti le rii, ko si mathematiki giga. Kí wá ni ìṣòro náà? Jẹ ká wo ni kọọkan ọna lọtọ.

Ọna
Apejuwe
Awọn ẹya ara ẹrọ ti Redis-cluster
Ipinnu

Gba SET
Kọ / ka bọtini

MGET MSET
Kọ/ka awọn bọtini pupọ
Awọn bọtini yoo wa lori awọn apa oriṣiriṣi. Awọn ile ikawe ti o ti ṣetan le ṣe awọn iṣẹ-ọpọlọpọ nikan laarin ipade kan
Rọpo MGET pẹlu opo gigun ti epo ti awọn iṣẹ N GET

Yan DB
Yan ipilẹ ti a yoo ṣiṣẹ pẹlu
Ko ṣe atilẹyin awọn apoti isura infomesonu pupọ
Fi ohun gbogbo sinu ibi ipamọ data kan. Ṣafikun awọn ami-iṣaaju si awọn bọtini

SCAN
Lọ nipasẹ gbogbo awọn bọtini ni database
Niwọn bi a ti ni data data kan, lilọ nipasẹ gbogbo awọn bọtini inu iṣupọ jẹ gbowolori pupọ
Ṣe itọju aiyipada laarin bọtini kan ki o ṣe HSCAN kan lori bọtini yii. Tabi kọ patapata

Geo
Awọn iṣẹ pẹlu geokey kan
Awọn geokey ti ko ba ya

Bọtini BY Apẹrẹ
Wiwa bọtini nipasẹ apẹrẹ
Niwọn bi a ti ni data data kan, a yoo wa kọja gbogbo awọn bọtini inu iṣupọ naa. O gbowolori ju
Kọ tabi ṣetọju aiyipada, bi ninu ọran ti SCAN

Redis vs Redis-iṣupọ

Kini a padanu ati kini a jèrè nigba yi pada si iṣupọ kan?

  • Awọn alailanfani: a padanu iṣẹ ṣiṣe ti awọn apoti isura data pupọ.
    • Ti a ba fẹ lati tọju data ti ko ni ibatan pẹlu ọgbọn sinu iṣupọ kan, a yoo ni lati ṣe awọn crutches ni irisi awọn ami-iṣaaju.
    • A padanu gbogbo awọn iṣẹ “ipilẹ”, gẹgẹbi SCAN, DBSIZE, CLEAR DB, ati bẹbẹ lọ.
    • Awọn iṣẹ-ọpọlọpọ ti di pupọ diẹ sii nira lati ṣe nitori o le nilo iraye si awọn apa pupọ.
  • Plus:
    • Ifarada aṣiṣe ni irisi ikuna oluwa.
    • Sharding lori Redis ẹgbẹ.
    • Gbigbe data laarin awọn apa atomically ati laisi akoko idaduro.
    • Ṣafikun ati tun pin kaakiri agbara ati awọn ẹru laisi akoko idaduro.

Emi yoo pinnu pe ti o ko ba nilo lati pese ipele giga ti ifarada aṣiṣe, lẹhinna gbigbe si iṣupọ ko tọ si, nitori pe o le jẹ iṣẹ-ṣiṣe ti kii ṣe pataki. Ṣugbọn ti o ba yan ni akọkọ laarin ẹya ti o yatọ ati ẹya iṣupọ, lẹhinna o yẹ ki o yan iṣupọ kan, nitori pe ko buru ati, ni afikun, yoo yọ ọ kuro ninu awọn efori.

Ngbaradi lati gbe

Jẹ ki a bẹrẹ pẹlu awọn ibeere fun gbigbe:

  • O yẹ ki o jẹ lainidi. Iduro pipe ti iṣẹ fun awọn iṣẹju 5 ko baamu wa.
  • O yẹ ki o jẹ ailewu ati mimu bi o ti ṣee. Mo fẹ lati ni iṣakoso diẹ lori ipo naa. A ko fẹ lati da ohun gbogbo silẹ ni ẹẹkan ki o gbadura lori bọtini yiyi pada.
  • Pipadanu data ti o kere ju nigba gbigbe. A loye pe yoo nira pupọ lati gbe ni atomiki, nitorinaa a gba diẹ ninu isọdọkan laarin data ni deede ati iṣupọ Redis.

Itoju iṣupọ

Ṣaaju gbigbe, o yẹ ki a ronu boya a le ṣe atilẹyin iṣupọ naa:

  • Awọn aworan atọka. A lo Prometheus ati Grafana lati ṣe iwọn fifuye Sipiyu, lilo iranti, nọmba awọn alabara, nọmba GET, SET, awọn iṣẹ AUTH, ati bẹbẹ lọ.
  • Amoye. Fojuinu pe ni ọla iwọ yoo ni iṣupọ nla labẹ ojuse rẹ. Ti o ba fọ, ko si ẹnikan ṣugbọn o le ṣe atunṣe. Ti o ba bẹrẹ lati fa fifalẹ, gbogbo eniyan yoo sare si ọ. Ti o ba nilo lati ṣafikun awọn orisun tabi tun pin ẹru naa, pada wa si ọdọ rẹ. Ni ibere ki o ma ṣe grẹy ni 25, o ni imọran lati pese fun awọn ọran wọnyi ati ṣayẹwo ni ilosiwaju bi imọ-ẹrọ yoo ṣe huwa labẹ awọn iṣe kan. Jẹ ki a sọrọ nipa eyi ni awọn alaye diẹ sii ni apakan “Imoye”.
  • Abojuto ati titaniji. Nigbati iṣupọ kan ba fọ, o fẹ lati jẹ akọkọ lati mọ nipa rẹ. Nibi a fi opin si ara wa si ifitonileti kan pe gbogbo awọn apa da alaye kanna pada nipa ipo iṣupọ (bẹẹni, o ṣẹlẹ yatọ). Ati awọn iṣoro miiran le ṣe akiyesi diẹ sii ni yarayara nipasẹ awọn titaniji lati awọn iṣẹ alabara Redis.

Gbigbe

Bawo ni a yoo gbe:

  • Ni akọkọ, o nilo lati mura ile-ikawe kan lati ṣiṣẹ pẹlu iṣupọ naa. A mu go-redis bi ipilẹ fun ẹya Go ati yi pada diẹ lati ba ara wa mu. A ṣe imuse Awọn ọna pupọ nipasẹ awọn opo gigun ti epo, ati tun ṣe atunṣe awọn ofin diẹ fun awọn ibeere atunwi. Ẹya PHP ni awọn iṣoro diẹ sii, ṣugbọn a pinnu nikẹhin lori php-redis. Wọn ṣe afihan atilẹyin iṣupọ laipẹ ati pe o dara ninu ero wa.
  • Nigbamii o nilo lati ran iṣupọ naa funrararẹ. Eyi ni a ṣe ni otitọ ni awọn ofin meji ti o da lori faili iṣeto ni. A yoo jiroro lori eto ni alaye diẹ sii ni isalẹ.
  • Fun gbigbe diẹdiẹ a lo ipo gbigbẹ. Niwọn bi a ti ni awọn ẹya meji ti ile-ikawe pẹlu wiwo kanna (ọkan fun ẹya deede, ekeji fun iṣupọ), ko ni idiyele nkankan lati ṣẹda iwe-iṣọ kan ti yoo ṣiṣẹ pẹlu ẹya lọtọ ati ni afiwe gbogbo awọn ibeere si iṣupọ, ṣe afiwe awọn idahun ati kọ awọn aiṣedeede ninu awọn akọọlẹ (ninu ọran wa ni NewRelic). Nitorinaa, paapaa ti ẹya iṣupọ ba fọ lakoko yiyi, iṣelọpọ wa kii yoo ni ipa.
  • Lehin ti yiyi iṣupọ jade ni ipo gbigbẹ, a le farabalẹ wo iyaya ti awọn aiṣedeede esi. Ti oṣuwọn aṣiṣe naa ba lọra ṣugbọn dajudaju o lọ si ọna igbagbogbo kekere, lẹhinna ohun gbogbo dara. Kilode ti awọn iyatọ tun wa? Nitori gbigbasilẹ ni ẹya ọtọtọ waye diẹ ṣaaju ki o wa ninu iṣupọ, ati nitori microlag, data le yatọ. Gbogbo ohun ti o ku ni lati wo awọn akọọlẹ aiṣedeede, ati pe ti gbogbo wọn ba ṣe alaye nipasẹ aiṣe-atomity ti igbasilẹ, lẹhinna a le tẹsiwaju.
  • Bayi o le yipada ipo gbigbẹ ni ọna idakeji. A yoo kọ ati ka lati inu iṣupọ, ati ṣe ẹda-iwe si ẹya ọtọtọ. Fun kini? Ni ọsẹ to nbọ Emi yoo fẹ lati ṣe akiyesi iṣẹ iṣupọ naa. Ti o ba han lojiji pe awọn iṣoro wa ni fifuye tente oke, tabi a ko gba nkan sinu apamọ, a nigbagbogbo ni ipadasẹhin pajawiri si koodu atijọ ati data lọwọlọwọ ọpẹ si ipo gbigbẹ.
  • Gbogbo ohun ti o ku ni lati mu ipo gbigbẹ kuro ki o si tu ẹya lọtọ kuro.

Amoye

Ni akọkọ, ni ṣoki nipa apẹrẹ iṣupọ.

Ni akọkọ, Redis jẹ ile itaja iye-bọtini. Awọn gbolohun ọrọ lainidii ni a lo bi awọn bọtini. Awọn nọmba, awọn okun, ati gbogbo awọn ẹya le ṣee lo bi awọn iye. Ọpọlọpọ awọn igbehin wa pupọ, ṣugbọn fun agbọye eto gbogbogbo eyi kii ṣe pataki fun wa.
Ipele atẹle ti abstraction lẹhin awọn bọtini jẹ awọn iho (SLOTS). Bọtini kọọkan jẹ ti ọkan ninu awọn iho 16. Nibẹ le jẹ eyikeyi nọmba ti awọn bọtini inu kọọkan Iho. Nitorinaa, gbogbo awọn bọtini ti pin si awọn eto isọpọ 383.
Nipa gbigbe lati Redis si Redis-cluster

Nigbamii ti, awọn apa ọga N gbọdọ wa ninu iṣupọ. Apapọ kọọkan ni a le ronu bi apẹẹrẹ Redis lọtọ ti o mọ ohun gbogbo nipa awọn apa miiran laarin iṣupọ. Kọọkan titunto si ipade ni awọn nọmba kan ti iho . Iho kọọkan je ti si nikan kan titunto si ipade. Gbogbo awọn iho nilo lati pin laarin awọn apa. Ti diẹ ninu awọn iho ko ba pin, lẹhinna awọn bọtini ti o fipamọ sinu wọn kii yoo ni iraye si. O jẹ oye lati ṣiṣe oju ipade titunto si kọọkan lori ọgbọn ọgbọn tabi ẹrọ ti ara ọtọtọ. O tun tọ lati ranti pe ipade kọọkan n ṣiṣẹ lori ọkan mojuto, ati pe ti o ba fẹ lati ṣiṣẹ ọpọlọpọ awọn iṣẹlẹ Redis lori ẹrọ ọgbọn kanna, rii daju pe wọn ṣiṣẹ lori awọn ohun kohun ti o yatọ (a ko gbiyanju eyi, ṣugbọn ni imọran o yẹ ki o ṣiṣẹ) . Ni pataki, awọn apa titunto si pese pinpin deede, ati awọn apa ọga diẹ sii gba kikọ ati ka awọn ibeere lati ṣe iwọn.

Lẹhin ti gbogbo awọn bọtini pin laarin awọn iho, ati awọn iho ti wa ni tuka laarin awọn titunto si apa, ohun lainidii nọmba ti ẹrú apa le fi kun si kọọkan titunto si ipade. Laarin ọkọọkan iru ọna asopọ oluwa-ẹrú, atunkọ deede yoo ṣiṣẹ. A nilo awọn ẹrú lati ṣe iwọn awọn ibeere kika ati fun ikuna ni ọran ikuna oluwa.
Nipa gbigbe lati Redis si Redis-cluster

Bayi jẹ ki a sọrọ nipa awọn iṣẹ ṣiṣe ti yoo dara julọ lati ni anfani lati ṣe.

A yoo wọle si eto nipasẹ Redis-CLI. Niwọn bi Redis ko ni aaye titẹsi ẹyọkan, o le ṣe awọn iṣẹ ṣiṣe atẹle lori eyikeyi awọn apa. Ni aaye kọọkan Mo fa ifojusi lọtọ si iṣeeṣe ti ṣiṣe iṣẹ labẹ fifuye.

  • Ohun akọkọ ati pataki julọ ti a nilo ni iṣẹ awọn apa iṣupọ. O pada ipo ti iṣupọ, ṣafihan atokọ ti awọn apa, awọn ipa wọn, pinpin Iho, ati bẹbẹ lọ. Alaye diẹ sii le ṣee gba nipa lilo alaye iṣupọ ati awọn iho iṣupọ.
  • Yoo dara lati ni anfani lati ṣafikun ati yọ awọn apa kuro. Fun idi eyi ni ipade iṣupọ ati iṣupọ gbagbe awọn iṣẹ ṣiṣe. Jọwọ ṣe akiyesi pe igbagbe iṣupọ gbọdọ wa ni lilo si gbogbo ipade, mejeeji awọn ọga ati awọn ẹda. Ati iṣupọ ipade nikan nilo lati pe ni ipade kan. Iyatọ yii le jẹ idamu, nitorinaa o dara julọ lati kọ ẹkọ nipa rẹ ṣaaju ki o to lọ laaye pẹlu iṣupọ rẹ. Ṣafikun ipade kan jẹ lailewu ni ogun ati pe ko ni ipa lori iṣẹ iṣupọ ni ọna eyikeyi (eyiti o jẹ ọgbọn). Ti o ba fẹ yọ ipade kan kuro ninu iṣupọ, o yẹ ki o rii daju pe ko si awọn iho ti o ku lori rẹ (bibẹẹkọ o ṣe eewu lati padanu iwọle si gbogbo awọn bọtini lori ipade yii). Paapaa, maṣe paarẹ oluwa ti o ni awọn ẹrú, bibẹẹkọ ibo ti ko wulo fun oluwa tuntun yoo ṣee ṣe. Ti awọn apa ko ba ni awọn iho mọ, lẹhinna eyi jẹ iṣoro kekere kan, ṣugbọn kilode ti a nilo awọn yiyan afikun ti a ba le paarẹ awọn ẹrú ni akọkọ.
  • Ti o ba nilo lati fi agbara paarọ oluwa ati awọn ipo ẹrú, lẹhinna aṣẹ ikuna iṣupọ yoo ṣe. Nigbati o ba n pe ni ogun, o nilo lati loye pe oluwa kii yoo wa lakoko iṣẹ naa. Ni deede iyipada naa waye ni kere ju iṣẹju kan, ṣugbọn kii ṣe atomiki. O le nireti pe diẹ ninu awọn ibeere si oluwa yoo kuna lakoko yii.
  • Ṣaaju ki o to yọ ipade kan kuro ninu iṣupọ, ko yẹ ki o jẹ awọn iho ti o kù lori rẹ. O dara lati tun pin wọn kaakiri nipa lilo pipaṣẹ atunṣatunṣe iṣupọ. Iho yoo wa ni ti o ti gbe lati ọkan titunto si miiran. Gbogbo isẹ naa le gba awọn iṣẹju pupọ, o da lori iwọn didun data ti a gbe, ṣugbọn ilana gbigbe jẹ ailewu ati ko ni ipa lori iṣẹ iṣupọ ni eyikeyi ọna. Nitorinaa, gbogbo data le ṣee gbe lati oju ipade kan si omiiran taara labẹ ẹru, ati laisi aibalẹ nipa wiwa rẹ. Sibẹsibẹ, awọn arekereke tun wa. Ni akọkọ, gbigbe data ni nkan ṣe pẹlu fifuye kan lori olugba ati awọn apa olufiranṣẹ. Ti ipade olugba ba ti ni ẹru pupọ lori ero isise, lẹhinna o ko yẹ ki o gbe pẹlu gbigba data tuntun. Ni ẹẹkeji, ni kete ti ko ba si iho kan ti o ku lori oluwa fifiranṣẹ, gbogbo awọn ẹru rẹ yoo lọ lẹsẹkẹsẹ si oluwa ti o ti gbe awọn iho wọnyi lọ. Ati pe iṣoro naa ni pe gbogbo awọn ẹrú wọnyi yoo fẹ lati mu data ṣiṣẹpọ ni ẹẹkan. Ati pe iwọ yoo ni orire ti o ba jẹ apakan kuku ju imuṣiṣẹpọ pipe. Ṣe eyi sinu akọọlẹ ki o darapọ awọn iṣẹ ti gbigbe awọn iho ati piparẹ / gbigbe awọn ẹrú. Tabi nireti pe o ni ala to ni aabo.
  • Kini o yẹ ki o ṣe ti, lakoko gbigbe, o rii pe o ti padanu awọn iho rẹ ni ibikan? Mo nireti pe iṣoro yii ko kan ọ, ṣugbọn ti o ba ṣe bẹ, iṣẹ-ṣiṣe iṣupọ kan wa. Ni o kere julọ, yoo tuka awọn iho kọja awọn apa ni aṣẹ laileto. Mo ṣeduro ṣiṣe ayẹwo iṣẹ rẹ nipa yiyọ akọkọ ipade pẹlu awọn iho ti a pin lati iṣupọ. Niwọn igba ti data ti ko si ni awọn iho ti ko si tẹlẹ, o ti pẹ pupọ lati ṣe aibalẹ nipa awọn iṣoro pẹlu wiwa awọn iho wọnyi. Ni ọna, iṣẹ naa kii yoo ni ipa lori awọn iho ti a pin.
  • Iṣẹ ṣiṣe ti o wulo miiran jẹ atẹle. O gba ọ laaye lati rii ni akoko gidi gbogbo atokọ ti awọn ibeere ti o lọ si ipade. Pẹlupẹlu, o le grep ki o rii boya ijabọ pataki wa.

O tun tọ lati darukọ ilana ikuna oluwa. Ni kukuru, o wa, ati, ninu ero mi, o ṣiṣẹ nla. Sibẹsibẹ, maṣe ronu pe ti o ba yọ okun agbara kuro lori ẹrọ kan pẹlu oju ipade titunto si, Redis yoo yipada lẹsẹkẹsẹ ati awọn onibara kii yoo ṣe akiyesi pipadanu naa. Ninu iṣe mi, iyipada naa waye ni iṣẹju-aaya diẹ. Lakoko yii, diẹ ninu data naa kii yoo wa: aisi wiwa oluwa ti rii, awọn apa dibo fun ọkan tuntun, awọn ẹrú ti yipada, data ti muṣiṣẹpọ. Ọna ti o dara julọ lati rii daju fun ararẹ pe ero naa n ṣiṣẹ ni lati ṣe awọn adaṣe agbegbe. Gbe iṣupọ soke lori kọǹpútà alágbèéká rẹ, fun ni fifuye ti o kere ju, ṣe apẹrẹ jamba kan (fun apẹẹrẹ, nipa didi awọn ibudo), ki o si ṣe iṣiro iyara iyipada naa. Ni ero mi, nikan lẹhin ti ndun ni ọna yii fun ọjọ kan tabi meji o le ni igboya ninu iṣẹ ti imọ-ẹrọ. O dara, tabi nireti pe sọfitiwia ti idaji Intanẹẹti nlo boya ṣiṣẹ.

Iṣeto ni

Nigbagbogbo, iṣeto ni ohun akọkọ ti o nilo lati bẹrẹ ṣiṣẹ pẹlu ọpa naa Ati nigbati ohun gbogbo ba ṣiṣẹ, iwọ ko paapaa fẹ lati fi ọwọ kan atunto naa. Yoo gba igbiyanju diẹ lati fi ipa mu ararẹ lati pada si awọn eto ki o lọ nipasẹ wọn ni pẹkipẹki. Ninu iranti mi, a ni o kere ju awọn ikuna pataki meji nitori aibikita si iṣeto naa. San ifojusi pataki si awọn aaye wọnyi:

  • akoko ipari 0
    Akoko lẹhin eyiti awọn asopọ ti ko ṣiṣẹ ti wa ni pipade (ni iṣẹju-aaya). 0 - maṣe sunmọ
    Kii ṣe gbogbo ile-ikawe ti wa ni anfani lati tii awọn asopọ ni deede. Nipa piparẹ eto yii, a ṣe eewu lilu opin lori nọmba awọn alabara. Ni apa keji, ti iru iṣoro kan ba wa, lẹhinna ifopinsi laifọwọyi ti awọn asopọ ti o sọnu yoo boju-boju, ati pe a le ma ṣe akiyesi. Ni afikun, o ko yẹ ki o mu eto yii ṣiṣẹ nigba lilo awọn asopọ ti o tẹsiwaju.
  • Fipamọ xy & ni afikun bẹẹni
    Nfipamọ aworan aworan RDB kan.
    A yoo jiroro lori awọn ọran RDB/AOF ni awọn alaye ni isalẹ.
  • stop-writes-on-bgsave-error no & ẹrú-sin-stale-data bẹẹni
    Ti o ba ṣiṣẹ, ti aworan aworan RDB ba fọ, oluwa yoo da gbigba awọn ibeere iyipada duro. Ti asopọ si oluwa ba sọnu, ẹrú naa le tẹsiwaju lati dahun si awọn ibeere (bẹẹni). Tabi yoo da idahun duro (rara)
    A ko ni idunnu pẹlu ipo ti Redis yipada si elegede kan.
  • repl-ping-ẹrú-akoko 5
    Lẹhin akoko yii, a yoo bẹrẹ lati ṣe aibalẹ pe oluwa ti bajẹ ati pe o to akoko lati ṣe ilana ikuna naa.
    Iwọ yoo ni lati wa iwọntunwọnsi pẹlu ọwọ laarin awọn idaniloju eke ati nfa ikuna kan. Ninu iṣe wa eyi jẹ iṣẹju-aaya 5.
  • repl-backlog-iwọn 1024mb & epl-backlog-ttl 0
    A le ṣafipamọ deede data pupọ yii sinu ifipamọ fun ẹda ti o kuna. Ti ifipamọ ba pari, iwọ yoo ni lati muṣiṣẹpọ patapata.
    Iwa ni imọran pe o dara lati ṣeto iye ti o ga julọ. Awọn idi pupọ lo wa ti ẹda ẹda le bẹrẹ lati aisun. Ti o ba jẹ lags, lẹhinna o ṣee ṣe pe oluwa rẹ n tiraka lati koju, ati mimuuṣiṣẹpọ ni kikun yoo jẹ koriko ti o kẹhin.
  • maxclients 10000
    O pọju nọmba ti ọkan-akoko ibara.
    Ninu iriri wa, o dara lati ṣeto iye ti o ga julọ. Redis kapa 10k awọn isopọ o kan itanran. O kan rii daju pe awọn iho to wa lori eto naa.
  • maxmemory-eto imulo iyipada-ttl
    Ofin nipa eyiti awọn bọtini ti paarẹ nigbati iye iranti to wa ti de.
    Ohun ti o ṣe pataki nibi kii ṣe ofin funrararẹ, ṣugbọn oye ti bii eyi yoo ṣe ṣẹlẹ. Redis le ni iyin fun agbara rẹ lati ṣiṣẹ deede nigbati opin iranti ba de.

RDB ati awọn iṣoro AOF

Botilẹjẹpe Redis funrararẹ tọju gbogbo alaye ni Ramu, ẹrọ tun wa fun fifipamọ data si disk. Ni deede diẹ sii, awọn ọna ṣiṣe mẹta:

  • RDB-fọto - aworan pipe ti gbogbo data. Ṣeto nipa lilo iṣeto ni SAVE XY ki o ka “Fipamọ aworan kikun ti gbogbo data ni gbogbo iṣẹju X ti o ba kere ju awọn bọtini Y ti yipada.”
  • Fikun-nikan faili - atokọ awọn iṣẹ ṣiṣe ni aṣẹ ti wọn ṣe. Ṣafikun awọn iṣẹ ṣiṣe tuntun ti nwọle si faili ni gbogbo iṣẹju X tabi gbogbo awọn iṣẹ Y.
  • RDB ati AOF jẹ apapo awọn meji ti tẹlẹ.

Gbogbo awọn ọna ni awọn anfani ati alailanfani wọn, Emi kii yoo ṣe atokọ gbogbo wọn, Emi yoo kan fa ifojusi si awọn aaye ti, ni ero mi, ko han gbangba.

Ni akọkọ, fifipamọ aworan aworan RDB nilo pipe FORK. Ti data pupọ ba wa, eyi le gbe gbogbo Redis duro fun akoko kan ti awọn milliseconds diẹ si iṣẹju kan. Ni afikun, eto naa nilo lati pin iranti iranti fun iru aworan kan, eyiti o yori si iwulo lati tọju ipese Ramu meji lori ẹrọ ọgbọn: ti 8 GB ba pin fun Redis, lẹhinna 16 GB yẹ ki o wa lori ẹrọ foju. o.

Ni ẹẹkeji, awọn iṣoro wa pẹlu amuṣiṣẹpọ apa kan. Ni ipo AOF, nigbati ẹrú ba tun so pọ, dipo mimuuṣiṣẹpọ apa kan, imuṣiṣẹpọ ni kikun le ṣee ṣe. Kini idi ti eyi fi ṣẹlẹ, Emi ko le loye. Ṣugbọn o tọ lati ranti eyi.

Awọn aaye meji wọnyi ti jẹ ki a ronu boya a nilo data yii gaan lori disiki ti ohun gbogbo ba ti ṣe ẹda tẹlẹ nipasẹ awọn ẹrú. Data le nikan sọnu ti gbogbo awọn ẹrú ba kuna, ati pe eyi jẹ iṣoro ipele "ina ni DC". Gẹgẹbi adehun, o le dabaa lati ṣafipamọ data nikan lori awọn ẹrú, ṣugbọn ninu ọran yii o nilo lati rii daju pe awọn ẹrú wọnyi kii yoo di titunto si lakoko imularada ajalu (fun eyi o wa eto pataki ẹrú ni atunto wọn). Fun ara wa, ninu ọran kọọkan pato a ronu boya o jẹ dandan lati fi data pamọ si disk, ati nigbagbogbo idahun jẹ "Bẹẹkọ".

ipari

Ni ipari, Mo nireti pe MO ni anfani lati funni ni imọran gbogbogbo ti bii redis-cluster ṣe n ṣiṣẹ fun awọn ti ko tii gbọ rẹ rara, ati pe o tun fa ifojusi si diẹ ninu awọn aaye ti kii ṣe kedere fun awọn ti o ti lo. fun igba pipẹ.
O ṣeun fun akoko rẹ ati, bi nigbagbogbo, awọn asọye lori koko jẹ itẹwọgba.

orisun: www.habr.com

Fi ọrọìwòye kun