ரெடிஸ் சென்டினல்

Retis Centinal



உங்கள் தயாரிப்பில் ஒரே ஒரு ரெடிஸ் நிகழ்வை மட்டும் வைத்து, சில காரணங்களால் அது ஒரு கட்டத்தில் தோல்வியடையும் சூழ்நிலையை வைத்துக்கொள்ளுங்கள். உங்கள் ஆப்ஸ் ரெடிஸ் டேட்டா ஸ்டோரில் டேட்டாவைச் சேமிக்கிறது, இப்போது உங்களின் ஒரே தரவு ஆதாரம் செயலிழந்துவிட்டது. இந்த வகையான காட்சிகளைக் கட்டுப்படுத்துவதற்கான ஒரு வழி, மாஸ்டர்-ஸ்லேவ் கட்டிடக்கலையைப் பராமரிப்பதாகும், அங்கு அடிமைகள் மாஸ்டர் நோட் மீண்டும் வரும் வரை அதைப் பிரதிபலிக்க முடியும். ரெடிஸ் கிளஸ்டர்கள் மாஸ்டர்-பிரதி அணுகுமுறையுடன் ஓரளவுக்கு அதிக அளவில் கிடைக்கும் தன்மையை ஆதரிக்கின்றன. ரெடிஸ் சென்டினல் என்பது ரெடிஸ் நிகழ்வுகளின் அதிக கிடைக்கும் தன்மையைப் பராமரிக்க மிகவும் நம்பகமான வழியை வழங்கும் மற்றொரு அணுகுமுறையாகும். இது ரெடிஸ் மாஸ்டர் நோட் தோல்விகளை கண்காணிக்கிறது மற்றும் தோல்வி செயல்முறையை உடனடியாக தூண்டுகிறது, இது ஏற்கனவே இருக்கும் அடிமை முனையை புத்தம் புதிய மாஸ்டராக ஊக்குவிக்கும்.







மேலும், ரெடிஸ் சென்டினல் ஒரு நடுத்தர மனிதராக செயல்படுகிறது, அங்கு வாடிக்கையாளர்கள் இணைக்கப்பட்டு சமீபத்திய மாஸ்டர் நோட் ஐபி முகவரியைக் கேட்கிறார்கள். எனவே, இணைக்கப்பட்ட செண்டினல் உடனடியாக முதன்மை முனை முகவரியை வழங்குகிறது.



கூடுதலாக, கொடுக்கப்பட்ட மாஸ்டரை அணுக முடியாது அல்லது கிடைக்கவில்லை என்று பல காவலர்கள் ஒப்புக்கொண்டால், முதன்மை முனை தோல்வி உறுதிசெய்யப்படும். இது தோல்வி கண்டறிதல் கட்டத்தை முடிக்கிறது மற்றும் தோல்வி செயல்முறை உடனடியாக தொடங்குகிறது. எனவே, ரெடிஸ் சென்டினல் குறிப்பிட்ட பண்புகளைக் கொண்ட விநியோகிக்கப்பட்ட அமைப்பாகக் காணலாம்.



செண்டினல்களின் ஒப்பந்தம் கோரம் மதிப்பை அடிப்படையாகக் கொண்டது, இது பின்வரும் பிரிவில் விவாதிக்கப்படும்.





யாருடைய மதிப்பு

கோரம் மதிப்பு என்பது முதன்மை முனை செயலிழந்திருக்கும் போது ஒப்புக்கொள்ளப்பட வேண்டிய அதிகபட்ச செண்டினல்களின் எண்ணிக்கையாகும். இந்த மதிப்பு முதன்மை முனையில் ஒரு தோல்வியைக் கண்டறிய மட்டுமே பயன்படுத்தப்படுகிறது. தோல்வியுற்ற செயல்முறையானது, தேர்ந்தெடுக்கப்பட்ட செண்டினலைத் தலைவராகக் கொண்டு தொடர, கிடைக்கக்கூடிய பல சென்டினல் முனைகளின் அங்கீகாரத்துடன் தொடங்குகிறது.

ரெடிஸ் சென்டினலின் அம்சங்கள்

செண்டினல் ரெடிஸ் டேட்டா ஸ்டோருக்கு அதிக கிடைக்கும் பொறிமுறையை வழங்குவதற்காக அறியப்படுகிறது. இது தவிர, வேறு பல திறன்களை பட்டியலிடலாம்.



  • உங்கள் ரெடிஸ் அமைப்பில் முதன்மை மற்றும் அடிமை முனைகளின் நிலையை சென்டினல் தொடர்ந்து கண்காணிக்கிறது.
  • உங்கள் Redis நிகழ்வுகளில் தோல்வி அல்லது ஏதேனும் தவறு ஏற்படும் போதெல்லாம், செண்டினல் API ஐப் பயன்படுத்தி நிர்வாகி அல்லது இணைக்கப்பட்ட பயன்பாடுகளுக்குத் தெரிவிக்கும் திறன் கொண்டது.
  • புதிய மாஸ்டராக ஒரு பிரதியை ஊக்குவிப்பதன் மூலம் தோல்வி கட்டம் செண்டினல் மூலம் இயக்கப்படுகிறது. புதிய மாஸ்டரைப் பயன்படுத்த மீதமுள்ள பிரதிகள் கட்டமைக்கப்பட்டுள்ளன. இறுதியாக, தொடர்புடைய வாடிக்கையாளர்களுக்கு புதிய முதன்மை முனை முகவரி குறித்து அறிவிக்கப்படும்.
  • மேலும், ரெடிஸ் சென்டினல் இணைக்கப்பட்ட வாடிக்கையாளர்களுக்கான உள்ளமைவு வழங்குநராகும், அங்கு வாடிக்கையாளர்கள் தற்போது கிடைக்கக்கூடிய முதன்மை நிகழ்வின் முகவரியைக் கேட்கலாம் மற்றும் திடீரென சரிவு ஏற்பட்டால், உடனடியாக புதிய முதன்மை முனை முகவரியைத் தள்ளுவதற்கு செண்டினல் உறுதிபூண்டுள்ளது.

அடுத்த பகுதியில், ரெடிஸ் சென்டினல்களை முதன்மை பிரதி நிகழ்வுகளுடன் உள்ளமைப்போம் மற்றும் முனைகளைக் கண்காணிக்க சென்டினல் API ஐப் பயன்படுத்துவோம்.

சென்டினல் கட்டமைப்பு

முதலில், 7000 மற்றும் 7001 போர்ட்களில் இரண்டு ரெடிஸ் நிகழ்வுகளை உருவாக்குகிறோம். போர்ட் 7000 முதன்மை முனையாக இருக்கும், மற்றொன்று மாஸ்டரைப் பிரதிபலிக்கும். இரண்டு நிகழ்வுகளும் முறையே பின்வரும் கட்டமைப்பு கோப்புகளைப் பயன்படுத்துகின்றன:

முதன்மை முனை கட்டமைப்பு

துறைமுகம் 7000
கிளஸ்டர்-இயக்கப்பட்ட எண்
cluster-config-file nodes.conf
cluster-node-timeout 5000
பின்னிணைப்பு மட்டும் ஆம்

ஸ்லேவ் நோட் கட்டமைப்பு

துறைமுகம் 7001
கிளஸ்டர்-இயக்கப்பட்ட எண்
cluster-config-file nodes.conf
cluster-node-timeout 5000
பின்னிணைப்பு மட்டும் ஆம்

இரண்டு நிகழ்வுகளும் ஒவ்வொன்றுடன் தொடர்புடைய உள்ளமைவு கோப்பை வழங்குவதன் மூலம் தொடங்கும். Redis நிகழ்வுகளை தனித்தனியாக தொடங்க பின்வரும் கட்டளையைப் பயன்படுத்தலாம்:

redis-server redis.conf

போர்ட் 7001 இல் தொடங்கப்பட்ட ரெடிஸ் நிகழ்வை பின்வருமாறு இணைப்போம்:

redis-cli -ப 7001

இப்போது, ​​இந்த நிகழ்வை போர்ட் 7000 இல் இயங்கும் மாஸ்டரின் பிரதியாக மாற்றலாம். REPLICAOF கட்டளையை பின்வருமாறு பயன்படுத்தலாம்:

127.0.0.1 இன் பிரதி 7000

எதிர்பார்த்தபடி, போர்ட் 7001 இல் இயங்கும் நிகழ்வு போர்ட் 7000 இல் இயங்கும் மாஸ்டரின் பிரதி முனையாக மாறியது.

இப்போது, ​​மேலே உள்ள முதன்மை நிகழ்வைக் கண்காணிக்க மூன்று ரெடிஸ் சென்டினல்களை உள்ளமைக்க நாங்கள் தயாராக உள்ளோம். பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி 5000, 5001 மற்றும் 5002 ஆகிய போர்ட்களில் மூன்று சென்டினல் நிகழ்வுகளை உருவாக்க மூன்று உள்ளமைவு கோப்புகளை வைத்திருக்க வேண்டும்.

ஒவ்வொன்றும் sentinel.conf போர்ட் எண் மாற்றப்படுவதைத் தவிர, கோப்பு பின்வருவது போல் தெரிகிறது:

துறைமுகம் 5000
செண்டினல் மானிட்டர் மாஸ்டர்நோட் 127.0.0.1 7000 இரண்டு
சென்டினல் கீழ்-மில்லி விநாடிகளுக்கு மாஸ்டர்நோடு 5000
செண்டினல் ஃபெயில்ஓவர்-டைம்அவுட் மாஸ்டர்நோட் 60000

இப்போது, ​​மூன்று காவலாளிகளை இயக்க வேண்டிய நேரம் வந்துவிட்டது. பாதையுடன் நீங்கள் redis-sentinel இயங்கக்கூடியதைப் பயன்படுத்தலாம் sentinel.conf ஒரு செண்டினல் நிகழ்வை உருவாக்க கட்டமைப்பு கோப்பு. இல்லையெனில், பாதையைக் குறிப்பிடுவதன் மூலம் redis-server ஐ இயக்கக்கூடியதாக அழைக்கலாம் sentinel.conf மற்றும் கொடி – சென்டினல் .

பின்வரும் கட்டளையைப் பயன்படுத்தி ஒவ்வொரு செண்டினலையும் தொடங்குவோம்:

redis-server sentinel.conf --சென்டினல்

முதல் சென்டினல் போர்ட் 5000 இல் தொடங்கப்பட்டது. இதேபோல், நீங்கள் மற்ற இரண்டு நிகழ்வுகளையும் தொடங்கலாம்.

இப்போது, ​​எங்கள் Redis சென்டினல் அமைப்பு பின்வரும் விளக்கப்படத்தில் காட்டப்பட்டுள்ளபடி இயங்குகிறது:

பின்வரும் பிரிவில், சென்டினல் ஏபிஐ மற்றும் ரெடிஸ் மாஸ்டர் நோட் தொடர்பான தகவல்களைப் பெற அதை எவ்வாறு பயன்படுத்தலாம் என்பதைப் பற்றி மேலும் ஆராய்வோம்.

சென்டினல் ஏபிஐ

தொடர்புடைய மாஸ்டர்கள் மற்றும் பிரதிகளை கண்காணிக்கவும், அறிவிப்புகளுக்கு குழுசேரவும் மற்றும் செண்டினல் அமைப்புகளை மாற்றவும் ரெடிஸ் ஒரு தனி சென்டினல் ஏபிஐ வழங்குகிறது. மேலும், பல பயன்பாடுகள் பின்வருவனவற்றில் பட்டியலிடப்பட்டுள்ளன.

  • கண்காணிக்கப்படும் ரெடிஸ் மாஸ்டர் மற்றும் அடிமை நிகழ்வுகளின் நிலையைச் சரிபார்க்கவும்
  • மற்ற காவலாளிகள் பற்றிய விவரங்கள்
  • தோல்வியுற்றால் காவலர்களிடமிருந்து புஷ்-ஸ்டைல் ​​அறிவிப்புகளைப் பெறவும்

SENTINEL கட்டளையானது அதனுடன் தொடர்புடைய துணைக் கட்டளைகளுடன் Redis sentinels மற்றும் கண்காணிக்கப்பட்ட முனைகளை வினவ, புதுப்பிக்க அல்லது அமைக்க பயன்படுத்தலாம்.

முதன்மை முனையின் நிலையைச் சரிபார்க்கவும்

மாஸ்டர் நோட் ஆரோக்கியத்தை அவ்வப்போது கண்காணிப்பது அல்லது சரிபார்ப்பது மிகவும் முக்கியம். முதன்மை விவரங்களை மீட்டெடுக்க பின்வரும் சென்டினல் API கட்டளையைப் பயன்படுத்தலாம்:

சென்டினல் மாஸ்டர் < கண்காணிக்கப்பட்ட_மாஸ்டர்_பெயர் >

கண்காணிக்கப்பட்ட_மாஸ்டர்_பெயர்: முந்தைய கட்டத்தில் நாம் உருவாக்கிய சென்டினல் உள்ளமைவு கோப்பில் குறிப்பிடப்பட்டுள்ள முதன்மை முனையின் பெயர்.

எங்கள் அமைப்பில் முதன்மை நிலையை வினவ இந்த கட்டளையைப் பயன்படுத்துவோம். எங்கள் விஷயத்தில், முதன்மை முனை பெயர் 'மாஸ்டர்நோட்'.

சென்டினல் மாஸ்டர் மாஸ்டர்நோடு

பல தகவல்கள் மீட்டெடுக்கப்பட்டுள்ளன, அவற்றில் சில முக்கியமானவை, அதாவது எண்-அடிமைகள், கொடிகள் மற்றும் எண்-இதர-சென்டினல்கள்.

தி கொடிகள் சொத்து அமைக்கப்பட்டுள்ளது குரு அதாவது எஜமானர் நல்ல ஆரோக்கியத்துடன் இருக்கிறார். முதன்மை முனை கீழே இருக்கும் போதெல்லாம், தி s_down அல்லது o_down கொடி காட்டப்படும். உடைமை எண்-மற்ற-சென்டினல்கள் 2 ஆக அமைக்கப்பட்டது, அதாவது ரெடிஸ் சென்டினல் ஏற்கனவே மற்ற இரண்டு சென்டினல்களை முதன்மை முனைக்கு அங்கீகரித்துள்ளது. கூடுதலாக, தி எண்-அடிமைகள் சொத்து முதன்மை முனைக்கு கிடைக்கக்கூடிய பிரதிகளை காட்டுகிறது. இந்த வழக்கில், எங்களிடம் ஒரே ஒரு பிரதி இருப்பதால் இது 1 ஆக அமைக்கப்பட்டுள்ளது.

இணைக்கப்பட்ட பிரதிகள் பற்றிய தகவலைப் பெறவும்

பின்வரும் SENTINEL துணை கட்டளையைப் பயன்படுத்தி முதன்மை முனையுடன் இணைக்கப்பட்ட பிரதிகளை நாம் சரிபார்க்கலாம்:

சென்டினல் பிரதிகள் < கண்காணிக்கப்பட்ட_மாஸ்டர்_பெயர் >

இந்த எடுத்துக்காட்டில், முதன்மை பெயர் 'மாஸ்டர்நோட்'.

சென்டினல் பிரதிகள் மாஸ்டர்நோடு

எதிர்பார்த்தபடி, போர்ட் 7001 இல் இயங்கும் அடிமை முனையை சென்டினல் கண்டறிந்தது.

தொடர்புடைய சென்டினல்கள் பற்றிய தகவலைப் பெறுங்கள்

இதேபோல், பின்வரும் SENTINEL துணைக் கட்டளையைப் பயன்படுத்தி தற்போதைய முதன்மை முனையுடன் தொடர்புடைய பிற சென்டினல்கள் தொடர்பான விவரங்களை நாம் வினவலாம்:

சென்டினல் சென்டினல்ஸ் < முதன்மை_முனை_பெயர் >

இந்த வழக்கில், 'masternode' என பெயரிடப்பட்ட முதன்மை முனை தொடர்பான தகவலைப் பெறுவோம்.

சென்டினல் சென்டினல்கள் மாஸ்டர்நோடு

முதன்மை முனை முகவரியைப் பெறவும்

முந்தைய பிரிவில் குறிப்பிட்டுள்ளபடி, ரெடிஸ் சென்டினல் இணைக்கப்பட்ட வாடிக்கையாளர்களுக்கான உள்ளமைவு வழங்குநராகும். எனவே, கோரப்பட்ட வாடிக்கையாளர்களுக்கு தற்போது இயங்கும் மாஸ்டர் நோட் ஐபி முகவரி மற்றும் போர்ட்டை வழங்கும் திறன் கொண்டது. குறிப்பிடப்பட்ட தகவலைப் பெற பின்வரும் சென்டினல் API துணைக் கட்டளையைப் பயன்படுத்தலாம்.

சென்டினல் கெட்-மாஸ்டர்-ADDR-BY-NAME < முதன்மை_முனை_பெயர் >

நமது சூழ்நிலைக்கு மேலே உள்ள கட்டளையை பின்வருமாறு இயக்குவோம்:

செண்டினல் get-master-addr-by-name masternode

சில செண்டினல் ஏபிஐ கட்டளைகளை மட்டுமே நாங்கள் விவாதித்தோம். செண்டினல்-ஃபெயில்ஓவர், சென்டினல் இன்போ-கேச், சென்டினல் மாஸ்டர்கள் மற்றும் பல போன்ற பல துணைக் கட்டளைகள் கிடைக்கின்றன. மேலும், நிர்வாக நோக்கங்களுக்காகப் பயன்படுத்த பல கட்டளைகள் கிடைக்கின்றன. பின்வரும் பிரிவில், நாங்கள் ரெடிஸ் சென்டினல் தோல்வி செயல்முறையில் கவனம் செலுத்துவோம்.

சென்டினல் தோல்வி செயல்முறை

எங்கள் செண்டினல் கட்டமைக்கப்பட்டுள்ளதால், ஃபெயில்-ஓவர் கட்டத்தை நாம் சோதிக்கலாம். முதன்மை முனையில் தோல்வியை உருவகப்படுத்தும் 300 வினாடிகள் தூங்குவதற்கு எங்கள் முதன்மை முனையை அனுப்புவோம்.

பிழைத்திருத்தம் தூங்கு 300

போர்ட் 7000 இல் இயங்கும் மாஸ்டர் நோட் இப்போது அணுக முடியாததாக இருக்க வேண்டும். எனவே, மாஸ்டர் உடன் கிடைக்காததை தொடர்புடைய காவலர்கள் கவனிப்பார்கள் +sdown நிகழ்வு. பின்னர், இது அமைக்கப்படும் +ஓடவுன் 2 சென்டினல்கள் கோரம் மதிப்பின்படி முதன்மை முனை கீழே இருப்பதை உறுதிப்படுத்துகிறது. இறுதியாக, தோல்வி கட்டம் தொடங்கும், மேலும் பிரதியை புதிய மாஸ்டருக்கு உயர்த்த வேண்டும்.

மாஸ்டர் நோட் ஐபி முகவரி மற்றும் போர்ட்டை மீண்டும் சரிபார்க்கலாம்.

செண்டினல் get-master-addr-by-name masternode

எதிர்பார்த்தபடி, முந்தைய பிரதி புதிய மாஸ்டராக பதவி உயர்வு பெற்றது, அதாவது செண்டினல் தோல்வி செயல்முறை வெற்றிகரமாக உள்ளது. ஒற்றை மாஸ்டர்-பிரதி ஜோடிக்கான எங்கள் மூன்று சென்டினல் அமைப்புகளின் வரிசைப்படுத்தல் மற்றும் சோதனை இது முடிவடைகிறது.

முடிவுரை

ரெடிஸ் செண்டினல் என்பது கொடுக்கப்பட்ட ரெடிஸ் மாஸ்டர் ரெப்ளிகா நிகழ்வின் அதிக இருப்பை உறுதி செய்வதற்கான மிகவும் நம்பகமான அணுகுமுறையாகும். ஒரு காவலாளி மனித தலையீடு இல்லாமல் தானாகவே தோல்வியைக் கண்காணிக்கவும், அறிவிக்கவும் மற்றும் தொடங்கவும் முடியும். மேலும், பல செண்டினல்கள் ஒன்றாக மாஸ்டர் நோட் அணுக முடியாதது மற்றும் கோரம் மதிப்பானது முதன்மை நிகழ்வின் கிடைக்கும் தன்மையை சரிபார்க்கும் போது ஒப்புக் கொள்ள வேண்டிய அதிகபட்ச சென்டினல்களின் எண்ணிக்கையாக பயன்படுத்தப்படுகிறது. ரெடிஸ் சென்டினல், மாஸ்டர் நோட் மற்றும் அதனுடன் தொடர்புடைய பிரதிகளின் ஆரோக்கியம் பற்றிய தகவலைப் பெறுவதற்கும் நிர்வாகப் பணிகளைச் செய்வதற்கும் பயன்படுத்த எளிதான API ஐ வழங்குகிறது.