Редис Сентинел

Redis Sentinel



Претпоставимо сценарио где имате само једну Редис инстанцу у својој продукцији и она у неком тренутку не успе из неког разлога. Ваша апликација кешира податке у Редис складишту података и сада је ваш једини извор података мртав. Један од начина да се контролише ова врста сценарија је одржавање мастер-славе архитектуре где подређени могу да реплицирају главни чвор док се не врати. Редис кластери подржавају високу доступност до одређеног степена са приступом мастер-реплика. Редис Сентинел је још један приступ који пружа поузданији начин одржавања високе доступности Редис инстанци. Он надгледа Редис главни чвор за грешке и одмах покреће процес преласка на грешку који ће унапредити постојећи славе чвор у потпуно нови главни.







Штавише, Редис сентинел делује као посредник где се клијенти повезују и траже најновију ИП адресу главног чвора. Дакле, повезани стражар одмах даје адресу главног чвора.



Поред тога, неисправност главног чвора се потврђује ако се више стражара сложи да дато главно чвориште није доступно или доступно. Овим се завршава фаза откривања грешке и процес преласка на грешку почиње одмах. Стога се Редис сентинел може посматрати као дистрибуирани систем са специфичним својствима.



Договор стражара је заснован на вредности кворума о којој ће бити речи у следећем одељку.





Чија вредност

Вредност Куорум је максимални број стражара који треба да се договори када главни чвор не ради. Ова вредност се користи само за идентификацију грешке у главном чвору. Процес преласка на грешку почиње са ауторизацијом више доступних надзорних чворова да наставе са изабраним надзорником као водећим.

Карактеристике Редис Сентинела

Сентинел је познат по томе што обезбеђује механизам високе доступности за Редис складиште података. Осим тога, може се навести још неколико могућности.



  • Сентинел континуирано прати статус главних и славе чворова у вашем Редис систему.
  • Кад год дође до квара или нешто није у реду са вашим Редис инстанцама, сентинел је способан да обавести администратора или повезане апликације користећи сентинел АПИ.
  • Фазу преласка на грешку управља надзорник промовишући реплику као нови мастер. Преостале реплике су конфигурисане да користе нови мастер. Коначно, одговарајући клијенти ће добити обавештење о новој адреси главног чвора.
  • Такође, Редис сентинел је добављач конфигурације за повезане клијенте где клијенти могу да траже адресу тренутно доступне главне инстанце и ако дође до изненадног колапса, чувар се обавезује да одмах прогура нову адресу главног чвора.

У следећем одељку ћемо конфигурисати Редис сентинеле са инстанцама главне реплике и користити сентинел АПИ за надгледање чворова.

Сентинел Цонфигуратион

Прво, креирамо две Редис инстанце на портовима 7000 и 7001. Порт 7000 ће бити главни чвор, а други реплицира главни. Обе инстанце користе следеће конфигурационе датотеке:

Конфигурација главног чвора

Лука 7000
кластер-енаблед бр
цлустер-цонфиг-филе нодес.цонф
цлустер-ноде-тимеоут 5000
аппендонли да

Конфигурација славе чвора

Лука 7001
кластер-енаблед бр
цлустер-цонфиг-филе нодес.цонф
цлустер-ноде-тимеоут 5000
аппендонли да

Обе инстанце ће почети пружањем конфигурационе датотеке повезане са сваком од њих. Можемо користити следећу команду да покренемо Редис инстанце одвојено:

редис-сервер редис.цонф

Хајде да се повежемо са Редис инстанцом започетом на порту 7001 на следећи начин:

редис-цли -п 7001

Сада можемо да направимо ову инстанцу репликом мастера који ради на порту 7000. Команда РЕПЛИЦАОФ се може користити на следећи начин:

реплика 127.0.0.1 7000

Као што се очекивало, инстанца која ради на порту 7001 постала је реплика чвора главног рачунара који ради на порту 7000.

Сада смо спремни да конфигуришемо три Редис стражара за надгледање горње главне инстанце. Морамо да имамо три конфигурационе датотеке да бисмо креирали три инстанце стражара на портовима 5000, 5001 и 5002 као што је приказано у наставку.

Сваки сентинел.цонф датотека изгледа овако, осим што ће се број порта променити:

Лука 5000
мастерноде надзорног чвора 127.0.0.1 7000 два
чувар доле после милисекунди мастерноде 5000
мастерноде за временско ограничење надзора 60000

Сада је време да покренете три стражара. Можете користити извршну датотеку редис-сентинел заједно са путањом до сентинел.цонф конфигурациону датотеку за креирање инстанце стражара. У супротном, и даље можемо позвати извршну датотеку редис-сервера тако што ћемо навести путању до сентинел.цонф и застава – стражар .

Покренимо сваког стражара помоћу следеће команде:

редис-сервер сентинел.цонф --сентинел

Први сентинел је покренут на порту 5000. Слично, можете покренути и друге две инстанце.

Сада је наше подешавање Редис сентинел-а постављено и ради као што је приказано на следећој илустрацији:

У следећем одељку ћемо истражити више о Сентинел АПИ-ју и како га можемо користити за преузимање информација у вези са Редис главним чвором.

Сентинел АПИ

Редис обезбеђује посебан сентинел АПИ за надгледање повезаних мастера и реплика, претплату на обавештења и измену подешавања надзора. Штавише, неколико употреба је наведено у наставку.

  • Проверите статус надгледаних Редис мастер и славе инстанци
  • Детаљи о другим стражарима
  • Примајте обавештења у пусх-стилу од стражара у случају преласка на грешку

Команда СЕНТИНЕЛ се може користити са припадајућим подкомандама за испитивање, ажурирање или постављање Редис стражара и надгледаних чворова.

Проверите статус главног чвора

Веома је важно с времена на време пратити или проверити здравље главног чвора. Следећа команда сентинел АПИ-ја се може користити за преузимање главних детаља:

СЕНТИНЕЛ МАСТЕР < мониторед_мастер_наме >

надгледано_мастер_наме: Име главног чвора које је наведено у датотеци конфигурације сентинела коју смо креирали у ранијем кораку.

Хајде да користимо ову наредбу за испитивање главног статуса у нашем подешавању. У нашем случају, назив главног чвора је 'мастерноде'.

СЕНТИНЕЛ МАСТЕР мастерноде

Преузето је неколико информација, а неке од њих су важне, као што су број робова, заставе и број других стражара.

Тхе заставе својство је подешено на мајстор што значи да је господар доброг здравља. Кад год је главни чвор искључен, с_довн или о_довн биће приказана застава. Имовина број-други-стражари је постављено на 2, што значи да је Редис сентинел већ препознао друга два стражара за главни чвор. Осим тога број-робова својство приказује доступне реплике за главни чвор. У овом случају, постављено је на 1 пошто имамо само једну реплику.

Добијте информације о повезаним репликама

Реплике повезане са главним чвором можемо проверити помоћу следеће поднаредбе СЕНТИНЕЛ:

СЕНТИНЕЛ РЕПЛИЦАС < мониторед_мастер_наме >

У овом примеру, главно име је „мастерноде“.

СЕНТИНЕЛ реплике мастерноде

Као што се очекивало, Сентинел је открио подређени чвор који ради на порту 7001.

Добијте информације о удруженим стражарима

Слично томе, можемо да упитамо детаље који се односе на друге стражаре повезане са тренутним главним чвором користећи следећу подкоманду СЕНТИНЕЛ:

СЕНТИНЕЛ СЕНТИНЕЛС < мастер_ноде_наме >

У овом случају, ми ћемо преузети информације везане за главни чвор под називом „мастерноде“.

СЕНТИНЕЛ сентинелс мастерноде

Добијте адресу главног чвора

Као што је поменуто у претходном одељку, Редис сентинел је добављач конфигурације за повезане клијенте. Дакле, може да обезбеди тренутно покренуту ИП адресу и порт главног чвора траженим клијентима. Следећа подкоманда Сентинел АПИ-ја се може користити за преузимање поменутих информација.

СЕНТИНЕЛ ГЕТ-МАСТЕР-АДДР-БИ-НАМЕ < мастер_ноде_наме >

Хајде да извршимо горњу команду за наш сценарио на следећи начин:

сентинел гет-мастер-аддр-би-наме мастерноде

Разговарали смо само о неколико сентинел АПИ команди. Доступно је неколико других подкоманди, као што су прелазак на грешку, надзорни инфо-кеш, надзорни мастери итд. Штавише, многе команде су доступне за употребу и у административне сврхе. У следећем одељку ћемо се фокусирати на Редис сентинел процес преласка на грешку.

Сентинел Фаиловер Процес

Пошто је наш стражар конфигурисан, можемо тестирати фазу преласка на грешку. Пошаљимо наш главни чвор у стање мировања на 300 секунди што симулира квар у главном чвору.

отклањање грешака спавати 300

Главни чвор који ради на порту 7000 сада би требао бити недоступан. Дакле, повезани стражари ће приметити да је мастер недоступан са +сдовн догађај. Затим ће ово бити подешено на +одовн где 2 стражара потврђују да је главни чвор искључен према вредности кворума. Коначно, фаза преласка на грешку ће почети и идеално би било да реплика буде промовисана у новог мастера.

Хајде да поново проверимо ИП адресу главног чвора и порт.

сентинел гет-мастер-аддр-би-наме мастерноде

Као што се и очекивало, претходна реплика је унапређена у нови мастер што значи да је процес надзора над грешком успешан. Овим је завршено постављање и тестирање наша три надзорна подешавања за један пар мастер-реплика.

Закључак

Редис сентинел је најпоузданији приступ који обезбеђује високу доступност дате инстанце Редис главне реплике. Сентинел је способан да надгледа, обавештава и покреће аутоматско пребацивање на грешку без људске интервенције. Такође, више стражара заједно се слаже око чињенице да је главни чвор недоступан и да се вредност кворума користи као максимални број стражара који треба да се договори приликом провере доступности главне инстанце. Редис сентинел нуди АПИ једноставан за коришћење за преузимање информација о здрављу главног чвора и повезаних реплика и обављање административних задатака.