Bii o ṣe le Ṣeto Redis Fun Wiwa Giga pẹlu Sentinel ni CentOS 8 - Apá 2


Redis pese wiwa giga nipasẹ eto kaakiri Redis Sentinel. Sentinel ṣe iranlọwọ lati ṣe atẹle awọn iṣẹlẹ Redis, ṣe awari awọn ikuna ati pe yoo ṣe awọn ipa ipa laifọwọyi bi o ti jẹ ki imuṣiṣẹ Redis ṣiṣẹ lati koju eyikeyi iru awọn ikuna.

O ṣe ẹya ibojuwo ti awọn iṣẹlẹ Redis (oluwa ati awọn ẹda), ṣe atilẹyin ifitonileti ti awọn iṣẹ miiran/awọn ilana tabi oluṣakoso eto nipasẹ iwe afọwọkọ kan, adaṣe adaṣe lati ṣe agbega ajọra kan si oluwa nigbati oluwa ba lọ silẹ ti o pese iṣeto fun awọn alabara lati ṣe iwari lọwọlọwọ titunto si ẹbọ iṣẹ kan pato.

Nkan yii ṣafihan bi o ṣe le ṣeto Redis fun wiwa to gaju pẹlu Redis Sentinel ni CentOS 8, pẹlu tito leto awọn sentinels, ṣayẹwo ipo iṣeto ati idanwo ailagbara Sentinel kan.

    Bii a ṣe le Ṣeto Iṣatunṣe Redis (pẹlu Alaabo Ipo-iṣupọ) ni CentOS 8 - Apá 1

Master Server and Sentinel1: 10.42.0.247
Redis Replica1 and Sentinel2: 10.42.0.21
Redis Replica2 and Sentinel3: 10.42.0.34

Gẹgẹbi iwe aṣẹ Redis Sentinel, ẹnikan nilo o kere ju awọn iṣẹlẹ Sentinel mẹta fun imuṣiṣẹ to lagbara. Ṣiyesi iṣeto wa loke, ti oluwa naa ba kuna, Sentinels2 ati Sentinel3 yoo gba nipa ikuna ati pe yoo ni anfani lati fun laṣẹ aṣẹku kan, ṣiṣe awọn iṣẹ alabara ni anfani lati tẹsiwaju.

Igbesẹ 1: Bibẹrẹ ati Ṣiṣe Iṣẹ Redis Sentinel

1. Lori CentOS 8, iṣẹ Redis Sentinel ti fi sii lẹgbẹẹ olupin Redis (eyiti a ti ṣe tẹlẹ ni Eto Ṣatunṣe Redis).

Lati bẹrẹ iṣẹ sentinel Redis ati mu ki o bẹrẹ laifọwọyi ni bata eto, lo awọn aṣẹ systemctl atẹle. Pẹlupẹlu, jẹrisi pe o ti n ṣiṣẹ ati ṣiṣe nipasẹ ṣayẹwo ipo rẹ (ṣe eyi lori gbogbo awọn apa):

# systemctl start redis-sentinel
# systemctl enable redis-sentinel
# systemctl status redis-sentinel

Igbese 2: Tito leto Redis Sentinel lori Gbogbo Awọn apa Redis

2. Ni apakan yii, a ṣe alaye bi o ṣe le tunto Sentinel lori gbogbo awọn apa wa. Iṣẹ Sentinel ni ọna kika irufẹ iru bi olupin Redis. Lati tunto rẹ, lo faili atunto ti ara ẹni /etc/redis-sentinel.conf.

Ni akọkọ, ṣẹda afẹyinti ti faili atilẹba ki o ṣi i fun ṣiṣatunkọ.

# cp /etc/redis-sentinel.conf /etc/redis-sentinel.conf.orig
# vi /etc/redis-sentinel.conf

3. Nipa aiyipada, Sentinel tẹtisi lori ibudo 26379, ṣayẹwo eyi lori gbogbo awọn iṣẹlẹ. Akiyesi pe o ni lati fi paramita abuda ṣalaye (tabi ṣeto si 0.0.0.0).

port 26379

4. Itele, sọ fun Sentinel lati ṣetọju oluwa wa, ati lati ṣe akiyesi rẹ ni ipo\"Objectively Down" nikan ti o kere ju awọn sentinels quorum meji gba. O le rọpo\"mymaster" pẹlu orukọ aṣa.

#On Master Server and Sentinel1
sentinel monitor mymaster 127.0.0.1 6379 2

#On Replica1 and Sentinel2
sentinel monitor mymaster 10.42.0.247 6379 2

#On Replica1 and Sentinel3
sentinel monitor mymaster 10.42.0.247 6379 2

Pataki: A gbọdọ fi alaye atẹle atẹle ranṣẹ ṣaaju asọtẹlẹ auth-pass ti sentinel lati yago fun aṣiṣe\"Ko si iru oluwa bẹẹ pẹlu orukọ pàtó kan.” nigbati o tun bẹrẹ iṣẹ sentinel.

5. Ti oluwa Redis lati ṣetọju ni eto igbaniwọle kan (ninu ọran wa oluwa ni), pese ọrọ igbaniwọle ki apẹẹrẹ Sentinel le jẹrisi pẹlu apẹẹrẹ ti o ni aabo.

 
sentinel auth-pass mymaster [email 

6. Lẹhinna ṣeto nọmba awọn millisecond ti oluwa (tabi eyikeyi ajọra ti a so tabi sentinel) yẹ ki o ko le de ọdọ lati ṣe akiyesi rẹ ni ipo\"Koko-isalẹ".

Iṣeto atẹle ti o tumọ si pe yoo ka oluwa naa ni aṣiṣe bi ni kete bi a ko ba gba esi kankan lati awọn pings wa laarin iṣẹju-aaya 5 (iṣẹju-aaya 1 jẹ deede si milisiṣọn 1000).

sentinel down-after-milliseconds mymaster 5000

7. Itele, ṣeto akoko isinmi ti o failover ni awọn milliseconds eyiti o ṣalaye ọpọlọpọ awọn ohun (ka iwe ti paramita ninu faili iṣeto).

sentinel failover-timeout mymaster 180000

8. Lẹhinna ṣeto nọmba awọn ẹda ti o le ṣe atunto lati lo oluwa tuntun lẹhin ti o ti pari ni akoko kanna. Niwọn igba ti a ni awọn ẹda meji, a yoo ṣeto ẹda kan bi ekeji yoo ni igbega si oluwa tuntun.

sentinel parallel-syncs mymaster 1

Akiyesi pe awọn faili iṣeto lori Redis Replica1 ati Sentinel2, ati Reddis Replica1 ati Sentinel2 yẹ ki o jẹ aami kanna.

9. Nigbamii, tun bẹrẹ awọn iṣẹ Sentinel lori gbogbo awọn apa lati lo awọn ayipada to ṣẹṣẹ.

# systemctl restart redis-sentinel

10. Nigbamii, ṣiṣi ibudo 26379 ni ogiriina lori gbogbo awọn apa lati jẹ ki awọn iṣẹlẹ Sentinel lati bẹrẹ sisọ, gba awọn isopọ lati awọn iṣẹlẹ Sentinel miiran, ni lilo ogiriina-cmd.

# firewall-cmd --zone=public --permanent --add-port=26379/tcp
# firewall-cmd --reload

11. Gbogbo awọn ẹda yoo wa ni awari laifọwọyi. Pataki, Sentinel yoo ṣe imudojuiwọn iṣeto ni adaṣe pẹlu alaye afikun nipa awọn ẹda. O le jẹrisi eyi nipa ṣiṣi faili iṣeto Sentinel fun apeere kọọkan ki o wo nipasẹ rẹ.

Fun apẹẹrẹ, nigbati o ba wo opin faili iṣeto ti oluwa, o yẹ ki o wo awọn sentinels ti a mọ ati awọn alaye ajọra ti a mọ bi o ṣe han ninu sikirinifoto atẹle.

O yẹ ki o jẹ ọran kanna lori ajọra1 ati ajọra2.

Akiyesi pe iṣeto Sentinel tun tun kọ/imudojuiwọn ni gbogbo igba ti ẹda kan ba ni igbega si ipo ọga lakoko ailagbara ati ni gbogbo igba ti a ba rii Sentinel tuntun ninu iṣeto.

Igbesẹ 3: Ṣayẹwo Ipo Ṣeto Redis Sentinel

12. Bayi ṣayẹwo ipo Sentinel/alaye lori oluwa, ni lilo aṣẹ sentinel info bi atẹle.

# redis-cli -p 26379 info sentinel

Lati iṣejade aṣẹ bi a ti rii ninu sikirinifoto ti n tẹle, a ni awọn ẹda/ẹrú meji ati awọn onṣẹ mẹta.

13. Lati fihan alaye ni kikun nipa oluwa (ti a pe ni ọga giga mi), lo aṣẹ oluwa sentinel.

# redis-cli -p 26379 sentinel master mymaster

14. Lati fihan alaye ni kikun nipa awọn ẹrú ati awọn onṣẹ, lo pipaṣẹ awọn ẹrú sentinel ati aṣẹ sentinel sentinels lẹsẹsẹ.

# redis-cli -p 26379 sentinel slaves mymaster
# redis-cli -p 26379 sentinel sentinels mymaster

15. Nigbamii, beere adirẹsi ti oluwa nipasẹ orukọ lati awọn iṣẹlẹ ẹrú nipa lilo pipaṣẹ sentinel get-master-addr-by-name bi atẹle.

Ijade yẹ ki o jẹ adirẹsi IP ati ibudo ti apeere oluwa lọwọlọwọ:

# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster

Igbesẹ 4: Ṣe idanwo Sentinel Failover

16. Ni ipari, jẹ ki a danu ailagbara laifọwọyi ni iṣeto Sentinel wa. Lori oluwa Redis/Sentinel, ṣe oluwa Redis (nṣiṣẹ lori ibudo 6379) lati sun fun awọn aaya 60. Lẹhin naa beere adirẹsi ti oluwa lọwọlọwọ lori awọn ẹda/awọn ẹrú bi atẹle.

# redis-cli -p 6379
127.0.0.1:6379> AUTH [email 
127.0.0.1:6379>  debug sleep 60
# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster

Lati iṣẹjade fun ibeere naa, oluwa tuntun jẹ ajọra/ẹrú bayi pẹlu adirẹsi IP 10.42.0.34 bi a ti rii ninu sikirinifoto atẹle.

O le gba alaye diẹ sii lati iwe Redis Sentinel. Ṣugbọn ti o ba ni awọn ero eyikeyi lati pin tabi awọn ibeere, fọọmu esi ni isalẹ ni ẹnu-ọna si wa.

Ni apakan atẹle ati ikẹhin ti jara yii, a yoo wo bi a ṣe le ṣeto Redis Cluster ni CentOS 8. Yoo jẹ nkan ominira lati awọn meji akọkọ.