Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ҳадафи асосии Patroni таъмини дастрасии баланд барои PostgreSQL мебошад. Аммо Patroni танҳо як қолаб аст, на асбоби тайёр (ки дар маҷмӯъ, дар ҳуҷҷатҳо гуфта мешавад). Дар назари аввал, вақте ки Patroni-ро дар лабораторияи санҷишӣ насб кардаед, шумо метавонед бубинед, ки он чӣ гуна асбоби олӣ аст ва он кӯшишҳои моро барои шикастани кластер ба осонӣ идора мекунад. Аммо, дар амал, дар муҳити истеҳсолӣ, ҳама чиз на ҳамеша мисли лабораторияи озмоишӣ ба таври зебо ва зебо сурат мегирад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман ба шумо каме дар бораи худам нақл мекунам. Ман ҳамчун мудири система оғоз кардам. Дар таҳияи веб кор кардааст. Ман аз соли 2014 дар Data Egret кор мекунам. Ширкат ба машварат дар соҳаи Postgres машғул аст. Ва мо маҳз Postgres хизмат мекунем ва мо ҳар рӯз бо Postgres кор мекунем, аз ин рӯ мо таҷрибаи гуногуни марбут ба амалиёт дорем.

Ва дар охири соли 2018 мо оҳиста-оҳиста истифода бурдани Patroni оғоз кардем. Ва баъзе тачриба андухта шудааст. Мо бо кадом роҳ онро ташхис кардем, танзим кардем, ба таҷрибаи пешқадами худ омадем. Ва дар ин гузориш ман дар бораи онҳо сӯҳбат мекунам.

Ба ғайр аз Postgres, ман Linux-ро дӯст медорам. Ман дӯст медорам, ки дар он гирд оварам ва омӯхтам, ман ҷамъ кардани ядроҳоро дӯст медорам. Ман виртуализатсия, контейнерҳо, докер, Кубернетесро дӯст медорам. Ҳамаи ин ба ман таваҷҷӯҳ мекунад, зеро одатҳои кӯҳнаи администратор таъсир мерасонанд. Ман дӯст медорам, ки бо мониторинг кор кунам. Ва ман чизҳои postgres-ро, ки бо маъмурият алоқаманданд, дӯст медорам, яъне нусхабардорӣ, нусхабардорӣ. Ва дар вақти холӣ ман дар Go менависам. Ман муҳандиси нармафзор нестам, ман танҳо барои худам дар Go менависам. Ва ин ба ман лаззат мебахшад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

  • Ман фикр мекунам, ки бисёре аз шумо медонед, ки Postgres аз қуттӣ HA (дастрасии баланд) надорад. Барои ба даст овардани HA, шумо бояд чизеро насб кунед, онро танзим кунед, кӯшиш кунед ва онро ба даст оред.
  • Якчанд асбобҳо мавҷуданд ва Патрони яке аз онҳост, ки HA-ро хеле хуб ва хуб ҳал мекунад. Аммо бо гузоштани ҳамааш дар лабораторияи озмоишӣ ва иҷро кардани он, мо мебинем, ки ҳама кор мекунад, мо метавонем баъзе мушкилотро дубора тавлид кунем ва бубинем, ки Патрони ба онҳо чӣ гуна хидмат мерасонад. Ва мо мебинем, ки ҳамааш хуб кор мекунад.
  • Аммо дар амал мо ба проблемахои гуногун дучор шудем. Ва ман дар бораи ин мушкилот сӯҳбат мекунам.
  • Ман ба шумо мегӯям, ки мо онро чӣ гуна ташхис кардем, чӣ гуна ислоҳ кардем - оё он ба мо кӯмак кард ё не.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

  • Ман ба шумо намегӯям, ки чӣ тавр Patroni насб кардан мумкин аст, зеро шумо метавонед дар Интернет google-ро ҷустуҷӯ кунед, шумо метавонед файлҳои конфигуратсияро бубинед, то бифаҳмед, ки ҳамааш чӣ гуна оғоз меёбад, чӣ тавр он танзим шудааст. Шумо метавонед схемаҳо, меъморӣ, дарёфти маълумот дар бораи он дар Интернет дарк.
  • Ман дар бораи таҷрибаи ягон каси дигар сухан намегӯям. Ман танҳо дар бораи мушкилоте, ки мо дучори он будем, сӯҳбат мекунам.
  • Ва ман дар бораи мушкилоте, ки берун аз Patroni ва PostgreSQL ҳастанд, гап намезанам. Агар, масалан, мушкилоти марбут ба мувозинат вуҷуд дошта бошад, вақте ки кластери мо хароб шудааст, ман дар ин бора ҳарф намезанам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва як радди хурд пеш аз оғози гузориши мо.

Ҳамаи ин мушкилоте, ки мо бо онҳо рӯ ба рӯ шудем, мо онҳоро дар 6-7-8 моҳи аввали фаъолият доштем. Бо гузашти вақт мо ба таҷрибаи беҳтарини дохилии худ омадем. Ва мушкилоти мо аз байн рафтанд. Аз ин рӯ, гузориш тақрибан шаш моҳ пеш эълон шуда буд, вақте ки он ҳама дар сарам тару тоза буд ва ман ҳамаашро ба таври комил дар хотир доштам.

Дар рафти тайёр кардани маъ-руза ман аллакай пост-мортемхои кухнаро бардоштам, ба журналхо назар кардам. Ва баъзе чузъиётро дар вакти тахлили проблемахо фаромуш кардан мумкин буд, ё ки баъзе чузъиёти онро пурра тафтиш карда наметавонист, бинобар ин дар баъзе нуктахо чунин ба назар мерасад, ки проблемахо пурра баррасй карда нашудаанд ва ё баъзе маълумотхо камй мекунанд. Ва аз ин рӯ ман аз шумо хоҳиш мекунам, ки барои ин лаҳза маро бубахшед.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Патрони чист?

  • Ин як қолаб барои сохтани HA аст. Ин аст он чизе ки дар ҳуҷҷатҳо гуфта шудааст. Ва аз нигоҳи ман, ин тавзеҳи хеле дуруст аст. Патронӣ тири нуқрае нест, ки ҳама мушкили туро ҳал кунад, яъне барои кор кардан ва фоида овардан саъй кардан лозим аст.
  • Ин хидмати агентест, ки дар ҳар як хидмати пойгоҳи додаҳо насб карда шудааст ва як навъ системаи ибтидоӣ барои Postgres-и шумост. Он Postgres-ро оғоз мекунад, қатъ мекунад, аз нав оғоз мекунад, аз нав танзим мекунад ва топологияи кластери шуморо тағир медиҳад.
  • Мувофиқи он, барои нигоҳ доштани ҳолати кластер, муаррифии кунунии он, тавре ба назар мерасад, як навъ нигоҳдорӣ лозим аст. Ва аз ин нуқтаи назар, Патронӣ роҳи нигаҳдории давлатро дар системаи беруна пеш гирифт. Ин як системаи нигаҳдории конфигуратсияи тақсимшуда мебошад. Он метавонад Etcd, Consul, ZooKeeper ё kubernetes Etcd бошад, яъне яке аз ин интихобҳо.
  • Ва яке аз хусусиятҳои Patroni дар он аст, ки шумо автомати филерро аз қуттӣ берун меоред, танҳо тавассути насб кардани он. Агар мо Repmgr-ро барои муқоиса гирем, пас файлкунанда дар он ҷо дохил карда мешавад. Бо Repmgr, мо ивазкуниро ба даст меорем, аммо агар мо хоҳем, ки автоматификатсия кунем, пас мо бояд онро ба таври иловагӣ танзим кунем. Patroni аллакай худкор аз қуттӣ дорад.
  • Ва бисёр чизҳои дигар вуҷуд доранд. Масалан, нигоҳдории конфигуратсияҳо, рехтани репликаҳои нав, нусхабардорӣ ва ғайра. Аммо ин аз доираи гузориш берун аст, ман дар ин бора ҳарф намезанам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва натиҷаи ночиз ин аст, ки вазифаи асосии Patroni ин аст, ки худкор файлро хуб ва боэътимод иҷро кунад, то кластери мо фаъол бошад ва барнома тағиротро дар топологияи кластер пай набарад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Аммо вақте ки мо ба истифодаи Patroni шурӯъ мекунем, системаи мо каме мураккабтар мешавад. Агар қаблан мо Postgres дошта бошем, пас ҳангоми истифодаи Patroni мо худи Patroni мегирем, мо DCS-ро мегирем, ки дар он давлат нигоҳ дошта мешавад. Ва ҳамааш бояд бо ягон роҳ кор кунад. Пас, чӣ метавонад хато кунад?

Мумкин аст шикастан:

  • Postgres метавонад вайрон шавад. Он метавонад устод ё реплика бошад, яке аз онҳо метавонад ноком шавад.
  • Худи Патрони метавонад вайрон шавад.
  • DCS, ки дар он ҳолат нигоҳ дошта мешавад, метавонад вайрон шавад.
  • Ва шабака метавонад вайрон шавад.

Хамаи ин нуктахоро ман дар маъруза ба назар мегирам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман парвандаҳоро дар ҳоле баррасӣ мекунам, ки онҳо мураккабтар мешаванд, на аз нуқтаи назари он, ки парванда ҷузъҳои зиёдеро дар бар мегирад. Ва аз нигоњи эњсосоти субъективї, ки ин парванда бароям душвор буд, људо кардан душвор буд... ва баръакс, баъзе њолатњо сабук буду људо кардан осон буд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва ҳолати аввал осонтарин аст. Ин ҳолатест, ки мо кластери пойгоҳи додаҳоро гирифтем ва анбори DCS-и худро дар ҳамон кластер ҷойгир кардем. Ин хатои маъмултарин аст. Ин хато дар сохтани меъморӣ, яъне дар як ҷо муттаҳид кардани ҷузъҳои гуногун аст.

Пас, як файле буд, биёед бо он чизе ки рӯй дод, равем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва дар ин ҷо мо ба он таваҷҷӯҳ дорем, ки файл кай рӯй дод. Яъне, мо ба ин лаҳзае манфиатдорем, ки ҳолати кластер тағир ёфтааст.

Аммо файлкунанда на ҳамеша фаврӣ аст, яъне ягон воҳиди вақтро намегирад, онро таъхир кардан мумкин аст. Он метавонад дарозмуддат бошад.

Аз ин рӯ, он вақти оғоз ва вақти анҷом дорад, яъне як ҳодисаи пайваста аст. Ва мо ҳама рӯйдодҳоро ба се фосила тақсим мекунем: мо пеш аз файл, дар давоми файл ва пас аз файл вақт дорем. Яъне мо ҳама рӯйдодҳоро дар ин ҷадвал баррасӣ мекунем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва аввалин чизе, ки файле рӯй дод, мо сабаби ҳодисаро меҷӯем, ки сабаби он чӣ буд, ки ба файл оварда расонд.

Агар мо ба гузоришҳо назар андозем, онҳо журналҳои классикии Patroni хоҳанд буд. Ӯ дар онҳо ба мо мегӯяд, ки сервер устод шудааст ва нақши устод ба ин гиреҳ гузашт. Дар ин ҷо таъкид шудааст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Баъдан, мо бояд фаҳмем, ки чаро файлкунанда рӯй дод, яъне чӣ ҳодисаҳо рух доданд, ки боиси аз як гиреҳ ба гиреҳи дигар гузаштани нақши асосӣ шуд. Ва дар ин ҳолат, ҳама чиз оддӣ аст. Мо дар ҳамкорӣ бо системаи нигоҳдорӣ хато дорем. Устод фаҳмид, ки бо DCS кор карда наметавонад, яъне дар кори мутақобила ягон мушкилот вуҷуд дорад. Ва мегуяд, ки дигар усто шуда наметавонад ва аз кор меравад. Ин сатри "худ паст карда шудааст" маҳз ҳаминро мегӯяд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Агар мо ба рӯйдодҳои пеш аз файл назар кунем, мо метавонем дар он ҷо сабабҳоеро бинем, ки боиси идомаи кори устод шуданд.

Агар мо ба гузоришҳои Patroni назар андозем, мо мебинем, ки мо хатогиҳои зиёд дорем, вақт-аутҳо дорем, яъне агенти Patroni бо DCS кор карда наметавонад. Дар ин ҳолат, ин агенти консул аст, ки дар порти 8500 муошират мекунад.

Ва мушкилот дар он аст, ки Patroni ва пойгоҳи додаҳо дар як ҳост кор мекунанд. Ва серверҳои консул дар ҳамон гиреҳ ба кор андохта шуданд. Бо эҷод кардани сарборӣ дар сервер, мо барои серверҳои консул низ мушкилот эҷод кардем. Онҳо дуруст муошират карда натавонистанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Пас аз чанд вақт, вақте ки сарборӣ коҳиш ёфт, Патрони мо тавонист дубора бо агентҳо тамос гирад. Кори муътадил аз нав cap шуд. Ва боз хамон сервери Pgdb-2 усто шуд. Яъне, як гардиши хурде ба амал омад, ки ба туфайли он гиреҳ ваколатҳои устодро тарк кард ва сипас онҳоро дубора ба худ гирифт, яъне ҳама чиз мисли он ки буд, баргашт.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва ин метавонад ҳамчун як ҳушдори бардурӯғ ҳисобида шавад, ё метавон ҳисоб кард, ки Патрони ҳама чизро дуруст кардааст. Яъне ӯ дарк кард, ки ҳолати кластерро нигоҳ дошта наметавонад ва ваколаташро аз байн бурд.

Ва дар ин ҷо мушкилот аз он сабаб ба миён омад, ки серверҳои консул дар як сахтафзор бо пойгоҳҳо ҷойгиранд. Мутаносибан, ҳама гуна сарборӣ: хоҳ он сарбории дискҳо бошад, хоҳ протсессорҳо, он инчунин ба ҳамкорӣ бо кластери консул таъсир мерасонад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва мо тасмим гирифтем, ки он набояд якҷоя зиндагӣ кунад, мо барои консул кластери алоҳида ҷудо кардем. Ва Патрони аллакай бо як консули алоҳида кор мекард, яъне кластери алоҳидаи Postgres, як кластери алоҳидаи консул вуҷуд дошт. Ин дастури асосӣ дар бораи чӣ гуна бурдан ва нигоҳ доштани ҳамаи ин чизҳост, то якҷоя зиндагӣ накунад.

Ҳамчун вариант, шумо метавонед параметрҳои ttl, loop_wait, retry_timeout -ро тағир диҳед, яъне кӯшиш кунед, ки бо афзоиши ин параметрҳо аз ин қуллаҳои сарбории кӯтоҳмуддат наҷот ёбед. Аммо ин варианти мувофиқтарин нест, зеро ин сарборӣ метавонад дар муддати тӯлонӣ бошад. Ва мо танҳо аз ин ҳудуди ин параметрҳо берун хоҳем рафт. Ва ин метавонад воқеан кӯмак накунад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мушкилоти аввал, чунон ки шумо мефаҳмед, оддӣ аст. Мо DCS-ро бо пойгоҳ гирифтем ва гузоштем, мушкиле пайдо шуд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мушкилоти дуюм ба мушкилоти аввал монанд аст. Ин ба он монанд аст, ки мо боз мушкилоти муштарак бо системаи DCS дорем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Агар мо ба гузоришҳо назар андозем, мебинем, ки мо боз хатои иртиботӣ дорем. Ва Патрони мегӯяд, ки ман бо DCS муошират карда наметавонам, то устоди ҷорӣ ба реҷаи реплика мегузарад.

Устоди кухансол реплика мешавад, дар ин чо Патрони кор мекунад, чунон ки бояд бошад. Он pg_rewind -ро иҷро мекунад, то сабти транзаксияро бозпас гирад ва сипас ба устоди нав пайваст шавад, то ба устоди нав бирасад. Дар ин ҷо Патрони кор мекунад, чунон ки бояд бошад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар ин ҷо мо бояд ҷойеро, ки пеш аз файлкунанда буд, пайдо кунем, яъне он хатогиҳое, ки боиси доштани файли мо шуданд. Ва дар ин робита, logs Patroni барои кор кардан хеле қулай аст. Вай дар фосилаи муайян ҳамон паёмҳоро менависад. Ва агар мо зуд ҳаракат карданро дар байни ин гузоришҳо оғоз кунем, пас мо аз гузоришҳо мебинем, ки гузоришҳо тағир ёфтаанд, ин маънои онро дорад, ки баъзе мушкилот оғоз шудааст. Мо зуд ба ин ҷой бармегардем, бубинед, ки чӣ мешавад.

Ва дар вазъияти муқаррарӣ, логҳо ба ин монанданд. Соҳиби қулф санҷида мешавад. Ва агар молик, масалан, иваз шуда бошад, пас баъзе воқеаҳое рӯй дода метавонанд, ки Патрони бояд ба онҳо ҷавоб диҳад. Аммо дар ин ҳолат мо хуб ҳастем. Мо ҷойеро меҷӯем, ки хатогиҳо оғоз ёфтанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва ба он ҷое, ки хатогиҳо пайдо мешаванд, ҳаракат карда, мо мебинем, ки мо файлҳои худкорро ба даст овардаем. Ва азбаски хатогиҳои мо ба ҳамкорӣ бо DCS алоқаманд буданд ва дар ҳолати мо Консулро истифода мебурдем, мо инчунин ба гузоришҳои консул нигоҳ мекунем, ки дар он ҷо чӣ рӯй дод.

Ҳангоми муқоисаи тақрибан вақти файл ва вақт дар гузоришҳои консул, мо мебинем, ки ҳамсоягони мо дар кластери консул ба мавҷудияти дигар аъзоёни кластери консул шубҳа доранд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва агар шумо инчунин ба гузоришҳои агентҳои консулии дигар назар андозед, шумо инчунин мебинед, ки дар он ҷо як навъ шикасти шабака ба амал меояд. Ва ҳамаи аъзоёни кластери консул ба мавҷудияти якдигар шубҳа доранд. Ва ин барои филер такони буд.

Агар шумо ба он чизе, ки пеш аз ин хатогиҳо рух додааст, назар кунед, шумо мебинед, ки ҳама гуна хатогиҳо мавҷуданд, масалан, мӯҳлати ниҳоӣ, RPC афтод, яъне дар ҳамкории аъзои кластери консул бо ҳамдигар як навъ мушкилот вуҷуд дорад. .

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ҷавоби соддатарин таъмири шабака аст. Аммо барои ман, ки дар минбар истода, инро гуфтан осон аст. Аммо вазъият чунин аст, ки на ҳамеша муштарӣ имкони таъмири шабакаро дорад. Вай метавонад дар DC зиндагӣ кунад ва наметавонад шабакаро таъмир кунад, ба таҷҳизот таъсир расонад. Ва аз ин рӯ, баъзе вариантҳои дигар лозиманд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Вариантҳо мавҷуданд:

  • Варианти соддатарин, ки ба назари ман, ҳатто дар ҳуҷҷатҳо навишта шудааст, ин ғайрифаъол кардани чекҳои консул аст, яъне танҳо як массиви холӣ гузаред. Ва мо ба агенти консул мегӯем, ки ҳеҷ гуна чекро истифода набарад. Бо ин санҷишҳо, мо метавонем ин тӯфонҳои шабакаро сарфи назар кунем ва файлро оғоз накунем.
  • Варианти дигар ин аст, ки ду маротиба тафтиш кардани raft_multiplier. Ин як параметри худи сервери консул аст. Бо нобаёнӣ, он ба 5 муқаррар карда шудааст. Ин арзиш аз ҷониби ҳуҷҷатҳо барои муҳитҳои марҳилавӣ тавсия карда мешавад. Дар асл, ин ба басомади паёмнависӣ байни аъзои шабакаи консул таъсир мерасонад. Дарвоқеъ, ин параметр ба суръати муоширати хидматӣ байни аъзоёни кластери консул таъсир мерасонад. Ва барои истеҳсолот, аллакай тавсия дода мешавад, ки онро кам кунед, то гиреҳҳо зуд-зуд паёмҳоро мубодила кунанд.
  • Варианти дигаре, ки мо пешниҳод кардем, ин баланд бардоштани авлавияти равандҳои консулӣ дар байни равандҳои дигар барои ҷадвали равандҳои системаи амалиётӣ мебошад. Чунин параметри "хуб" вуҷуд дорад, он танҳо афзалияти равандҳоро муайян мекунад, ки аз ҷониби нақшакаши ОС ҳангоми банақшагирӣ ба назар гирифта мешаванд. Мо инчунин арзиши хубро барои агентҳои консул кам кардем, яъне. Афзалиятро зиёд кард, то ки системаи оператсионӣ ба равандҳои консул вақти бештарро барои кор ва иҷрои коди худ диҳад. Дар ҳолати мо, ин мушкили моро ҳал кард.
  • Варианти дигар ин аст, ки Консулро истифода набаред. Ман як дӯсте дорам, ки ҷонибдори бузурги Etcd аст. Ва мо мунтазам бо ӯ баҳс мекунем, ки Etcd ё Консул беҳтар аст. Аммо дар робита ба он ки беҳтар аст, мо одатан бо ӯ розӣ мешавем, ки консул агент дорад, ки бояд дар ҳар як гиреҳ бо пойгоҳи додаҳо кор кунад. Яъне ҳамкории Patroni бо кластери консул тавассути ин агент мегузарад. Ва ин агент ба монеа табдил меёбад. Агар бо агент чизе рӯй диҳад, Патрони дигар наметавонад бо кластери консул кор кунад. Ва ин мушкилот аст. Дар нақшаи Etcd ягон агент вуҷуд надорад. Patroni метавонад мустақиман бо рӯйхати серверҳои Etcd кор кунад ва аллакай бо онҳо муошират кунад. Дар робита ба ин, агар шумо Etcd-ро дар ширкати худ истифода баред, пас Etcd эҳтимолан беҳтар аз консул хоҳад буд. Аммо мо дар мизоҷони худ ҳамеша бо он чизе, ки муштарӣ интихоб кардааст ва истифода мебарад, маҳдуд аст. Ва мо барои аксари муштариён консул дорем.
  • Ва нуқтаи охирин аз нав дида баромадани арзишҳои параметр аст. Мо метавонем ин параметрҳоро бо умеде боло бардорем, ки мушкилоти шабакаи кӯтоҳмуддати мо кӯтоҳанд ва аз доираи ин параметрҳо берун наоянд. Бо ин роҳ, мо метавонем хашмгинии Patroni-ро ба autofile кам кунем, агар баъзе мушкилоти шабакавӣ пайдо шаванд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман фикр мекунам, ки бисёре аз онҳое, ки Патрониро истифода мебаранд, бо ин фармон шиносанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ин фармон ҳолати кунунии кластерро нишон медиҳад. Ва дар назари аввал, ин расм муқаррарӣ менамояд. Мо усто дорем, реплика дорем, қафомонии такрорӣ вуҷуд надорад. Аммо ин тасвир муқаррарӣ аст, то он даме, ки мо медонем, ки ин кластер бояд се гиреҳ дошта бошад, на ду.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мувофиқи он, файли худкор вуҷуд дошт. Ва пас аз ин файли худкор, нусхаи мо нопадид шуд. Мо бояд фаҳмем, ки чаро ғайб зад ва ӯро баргардонем, барқарор кунем. Ва мо боз ба гузоришҳо меравем ва мефаҳмем, ки чаро мо файли худкориро доштем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар ин ҳолат, нусхаи дуюм устод шуд. Дар ин ҷо ҳамааш хуб аст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва мо бояд ба нусхаи афтода ва дар кластер нест назар кунем. Мо гузоришҳои Patroni-ро мекушоем ва мебинем, ки мо дар ҷараёни пайвастшавӣ ба кластер дар марҳилаи pg_rewind мушкилот доштем. Барои пайваст шудан ба кластер, шумо бояд сабти транзаксияро баргардонед, журнали транзаксияро аз устод дархост кунед ва онро барои расидан ба устод истифода баред.

Дар ин ҳолат, мо сабти транзаксия надорем ва нусхабардорӣ оғоз карда наметавонад. Мувофиқи он, мо Postgres-ро бо хато қатъ мекунем. Ва аз ин рӯ, он дар кластер нест.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо бояд фаҳмем, ки чаро он дар кластер нест ва чаро гузоришҳо вуҷуд надоштанд. Мо ба назди устои нав меравем ва ба он назар мекунем, ки дар чӯбҳо чӣ дорад. Маълум мешавад, ки вақте ки pg_rewind анҷом дода шуд, нуқтаи назорат ба амал омад. Ва баъзе аз гузоришҳои транзаксияҳои кӯҳна танҳо номгузорӣ шуданд. Вақте ки устои кӯҳна кӯшиш кард, ки ба устоди нав пайваст шавад ва ин гузоришҳоро пурсад, онҳо аллакай номгузорӣ шуда буданд, онҳо танҳо вуҷуд надоштанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман тамғаҳои вақтро ҳангоми рух додани ин воқеаҳо муқоиса кардам. Ва дар он ҷо фарқият аслан 150 миллисония аст, яъне гузаргоҳ дар 369 миллисония анҷом ёфт, сегментҳои WAL номгузорӣ шуданд. Ва аслан дар соли 517, пас аз 150 миллисония, бозгашт дар нусхаи кӯҳна оғоз ёфт. Яъне, аслан 150 миллисония барои мо кифоя буд, то реплика пайваст нашавад ва даромад ба даст орад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Имкониятҳо чӣ гунаанд?

Мо дар аввал слотҳои такрориро истифода мебурдем. Мо фикр мекардем, ки ин хуб аст. Гарчанде дар марҳилаи аввали амалиёт мо слотҳоро хомӯш кардем. Ба мо чунин менамуд, ки агар слотҳо сегментҳои зиёди WAL ҷамъ кунанд, мо метавонем устодро тарк кунем. Ӯ меафтад. Мо барои чанд вақт бе ҷойи азоб. Ва мо фаҳмидем, ки ба мо лозим аст ҷойи , мо баргашт ҷойи .

Аммо дар ин ҷо мушкилот вуҷуд дорад, ки вақте ки устод ба нусхабардорӣ меравад, он слотҳоро нест мекунад ва сегментҳои WAL-ро дар баробари слотҳо нест мекунад. Ва барои бартараф кардани ин мушкилот, мо тасмим гирифтем, ки параметри wal_keep_segments -ро боло барем. Он ба 8 сегмент муқаррар карда мешавад. Мо онро ба 1 расондем ва дидем, ки чӣ қадар фазои холӣ дорем. Ва мо барои wal_keep_segments 000 гигабайт додем. Яъне, ҳангоми гузариш мо ҳамеша дар ҳама гиреҳҳо захираи 16 гигабайт сабтҳои транзаксия дорем.

Ва плюс - он ҳанӯз ҳам барои вазифаҳои нигоҳдории дарозмуддат мувофиқ аст. Биёед бигӯем, ки мо бояд яке аз нусхаҳоро навсозӣ кунем. Ва мо мехоҳем онро хомӯш кунем. Мо бояд нармафзорро навсозӣ кунем, шояд системаи оператсионӣ, чизи дигар. Ва вақте ки мо репликаро хомӯш мекунем, слот барои ин реплика низ хориҷ карда мешавад. Ва агар мо wal_keep_segments-и хурдро истифода барем, пас бо набудани муддати тӯлонӣ реплика, сабтҳои транзаксия гум мешаванд. Мо нусхабардорӣ хоҳем кард, он гузоришҳои транзаксияро, ки дар он ҷо қатъ шудааст, талаб мекунад, аммо онҳо метавонанд дар устод набошанд. Ва реплика ҳам наметавонад пайваст шавад. Аз ин рӯ, мо захираи зиёди маҷаллаҳоро нигоҳ медорем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо базаи истехсолй дорем. Лоиҳаҳо аллакай иҷро мешаванд.

Филлер вуҷуд дошт. Мо даромадем ва дидем - ҳама чиз дуруст аст, репликаҳо дар ҷои худ ҳастанд, қафомонии такрорӣ вуҷуд надорад. Дар гузоришҳо низ ягон хатогӣ вуҷуд надорад, ҳама чиз дар тартиб аст.

Гурӯҳи маҳсулот мегӯяд, ки бояд баъзе маълумот мавҷуд бошад, аммо мо онро аз як манбаъ мебинем, аммо мо онро дар пойгоҳи додаҳо намебинем. Ва мо бояд фаҳмем, ки бо онҳо чӣ шуд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Маълум аст, ки pg_rewind онҳоро аз даст додааст. Мо инро дарҳол фаҳмидем, вале рафта дидем, ки чӣ рӯй дода истодааст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар гузоришҳо, мо ҳамеша метавонем пайдо кунем, ки файлкунанда кай рӯй дод, кӣ усто шуд ва мо метавонем муайян кунем, ки кӣ устои кӯҳна буд ва кай ӯ мехост нусхабардорӣ шавад, яъне ба мо ин гузоришҳо лозиманд, то миқдори сабтҳои транзаксияро муайян кунем. гум шуд.

Устоди кӯҳнаи мо дубора ба кор даромад. Ва Патрони дар авторун ба кайд гирифта шуд. Patroni ба кор андохта шуд. Пас аз он ӯ Postgres-ро оғоз кард. Аниқтараш, пеш аз оғози Postgres ва пеш аз он ки онро нусхабардорӣ кунад, Патрони раванди pg_rewind -ро оғоз кард. Мувофиқи он, ӯ як қисми гузоришҳои транзаксияҳоро нест кард, навҳоро зеркашӣ кард ва пайваст шуд. Дар ин чо Патрони мохирона кор мекард, яъне чи тавре ки интизор мерафт. Кластер барқарор карда шуд. Мо 3 гиреҳ доштем, пас аз filler 3 гиреҳ - ҳама чиз хуб аст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо баъзе маълумотро гум кардем. Ва мо бояд бифаҳмем, ки чӣ қадар мо аз даст додаем. Мо танҳо лаҳзаеро меҷӯем, ки мо паси сар кардем. Мо онро дар чунин варақаҳои журнал пайдо карда метавонем. Бозгашт оғоз шуд, дар он ҷо коре кард ва анҷом ёфт.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо бояд мавқеъро дар сабти муомилот, ки устои кӯҳна тарк кардааст, пайдо кунем. Дар ин ҳолат, ин нишона аст. Ва ба мо нишони дуюм лозим аст, яъне масофае, ки устои кухансол аз нав фарк мекунад.

Мо pg_wal_lsn_diff-и муқаррариро мегирем ва ин ду аломатро муқоиса мекунем. Ва дар ин ҳолат мо 17 мегабайт мегирем. Кам ё зиёд, ҳар кас худаш тасмим мегирад. Зеро барои касе 17 мегабайт зиёд нест, барои касе зиёд ва ғайри қобили қабул аст. Дар ин ҷо ҳар як фард мувофиқи ниёзҳои тиҷорат худаш муайян мекунад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Аммо мо худамон чиро фахмидем?

Аввалан, мо бояд худамон қарор қабул кунем - оё ба мо ҳамеша лозим аст, ки Patroni пас аз бозоғозкунии система худкор оғоз кунад? Аксар вакт руй медихад, ки ба назди устои кухансол равем, бинед, ки вай то чй андоза пеш рафтааст. Шояд қисматҳои сабти транзаксияҳоро тафтиш кунед, бубинед, ки дар он ҷо чӣ мавҷуд аст. Ва барои фаҳмидани он, ки оё мо метавонем ин маълумотро аз даст диҳем ё мо бояд устоди кӯҳнаро дар ҳолати мустақил кор кунем, то ин маълумотро берун кунем.

Ва танҳо пас аз он мо бояд қарор кунем, ки ин маълумотро партофта метавонем ё мо метавонем онро барқарор кунем, ин гиреҳро ҳамчун нусха ба кластери худ пайваст кунем.

Илова бар ин, параметри "maximum_lag_on_failover" мавҷуд аст. Бо нобаёнӣ, агар хотираи ман ба ман хидмат кунад, ин параметр арзиши 1 мегабайт дорад.

Ӯ чӣ гуна кор мекунад? Агар репликаи мо дар ақибмонии реплика 1 мегабайт маълумот ақиб бошад, пас ин реплика дар интихобот иштирок намекунад. Ва агар ногаҳон файле пайдо шавад, Патрони назар мекунад, ки кадом репликаҳо ақиб мондаанд. Агар онҳо аз шумораи зиёди гузоришҳои транзаксия қафо бошанд, онҳо наметавонанд усто шаванд. Ин як хусусияти хеле хуби амниятӣ аст, ки шуморо аз гум кардани маълумоти зиёд пешгирӣ мекунад.

Аммо мушкиле вуҷуд дорад, ки қафомонии такрорӣ дар кластери Patroni ва DCS дар фосилаи муайян нав карда мешавад. Ман фикр мекунам, ки 30 сония арзиши пешфарз ttl аст.

Мутаносибан, метавонад вазъияте вуҷуд дошта бошад, ки як қафомонии такрорӣ барои репликаҳо дар DCS вуҷуд дорад, аммо дар асл метавонад ақибмонии тамоман дигар бошад ё тамоман ақибмонӣ вуҷуд надошта бошад, яъне ин чиз вақти воқеӣ нест. Ва он на ҳамеша тасвири воқеиро инъикос мекунад. Ва дар ин бора мантиқи афсонавӣ кардан бамаврид нест.

Ва хатари талафот ҳамеша боқӣ мемонад. Ва дар бадтарин ҳолат як формула ва дар ҳолати миёна формулаи дигар. Яъне, вақте ки мо татбиқи Патрониро ба нақша мегирем ва баҳо медиҳем, ки чӣ қадар маълумотро аз даст дода метавонем, мо бояд ба ин формулаҳо такя кунем ва тахминан тасаввур кунем, ки чӣ қадар маълумотро аз даст дода метавонем.

Ва хабари хуш ҳаст. Вақте ки устоди кӯҳна пеш рафтааст, вай метавонад бо сабаби баъзе равандҳои замина пеш равад. Яъне, як навъ автовакуум вуҷуд дошт, ӯ маълумотро навишт, онҳоро ба сабти транзаксия захира кард. Ва мо метавонем ба осонӣ ин маълумотро нодида гирем ва аз даст диҳем. Дар ин кор мушкиле нест.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва ин аст, ки гузоришҳо чӣ гуна ба назар мерасанд, агар maksimum_lag_on_failover муқаррар карда шуда бошад ва файле рух дода бошад ва шумо бояд устоди навро интихоб кунед. Реплика худро ҳамчун қодир нест, ки дар интихобот ширкат кунад, арзёбӣ мекунад. Ва ӯ аз иштирок дар мусобиқа барои пешсаф худдорӣ мекунад. Ва вай мунтазири интихоби устоди нав аст, то ки баъдан ба он пайваст шавад. Ин чораи иловагӣ бар зидди талафи маълумот аст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар ин ҷо мо як гурӯҳи маҳсулот дорем, ки навиштааст, ки маҳсулоти онҳо бо Postgres мушкилот доранд. Дар айни замон, худи усто дастрас шуда наметавонад, зеро он тавассути SSH дастрас нест. Ва autofile низ рӯй намедиҳад.

Ин мизбон маҷбур шуд, ки аз нав оғоз кунад. Аз сабаби бозсозӣ, файли худкор рӯй дод, гарчанде ки он имкон дошт, ки файли худкори дастӣ анҷом дода шавад, тавре ки ман ҳоло мефаҳмам. Ва пас аз бозоғозӣ, мо аллакай мебинем, ки бо устоди ҷорӣ чӣ доштем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар баробари ин мо пешакй медонистем, ки бо дискхо мушкилй дорем, яъне аз назорат дар кучо кофтану чиро чустучу карданро аллакай медонистем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо ба журнали постгрес даромадем ва дидем, ки дар он ҷо чӣ рӯй дода истодааст. Мо мушоҳидаҳоеро дидем, ки дар он ҷо як, ду ва се сония давом мекунанд, ки ин умуман муқаррарӣ нест. Мо дидем, ки автовакууми мо хеле суст ва аҷиб ба кор медарояд. Ва мо дар диск файлҳои муваққатиро дидем. Яъне, ин ҳама нишондиҳандаҳои мушкилот бо дискҳо мебошанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо ба системаи dmesg (логи ядро) назар кардем. Ва мо дидем, ки дар яке аз дискҳо мушкилот дорем. Зерсистемаи диск нармафзори Raid буд. Мо ба /proc/mdstat нигаристем ва дидем, ки мо як дискро гум кардаем. Яъне, Рейди 8 диск ҳаст, яктоаш намерасад. Агар шумо ба слайд бодиққат назар кунед, пас дар баромад шумо мебинед, ки мо дар он ҷо sde надорем. Дар мо, шартан гуем, диск аз кор баромадааст. Ин боиси мушкилоти диск гардид ва барномаҳо низ ҳангоми кор бо кластери Postgres мушкилот доштанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва дар ин ҳолат, Патрони ба мо ҳеҷ гуна кӯмак намекунад, зеро Патрони вазифаи назорат кардани ҳолати сервер, ҳолати дискро надорад. Ва мо бояд чунин ҳолатҳоро тавассути мониторинги беруна назорат кунем. Мо зуд мониторинги дискро ба мониторинги беруна илова кардем.

Ва чунин фикр пайдо шуд - оё нармафзори шамшербозӣ ё посбон ба мо кӯмак карда метавонад? Мо фикр мекардем, ки ӯ дар ин ҳолат ба мо базӯр кӯмак мекунад, зеро дар давоми мушкилот Патрони ҳамкорӣ бо кластери DCS-ро идома дод ва ҳеҷ мушкиле надид. Яъне, аз нуқтаи назари DCS ва Patroni, ҳама чиз бо кластер хуб буд, гарчанде ки дар асл мушкилот дар диск вуҷуд дошт, дар дастрасии пойгоҳи додаҳо мушкилот вуҷуд дошт.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ба назари ман, ин яке аз мушкилоти аҷибест, ки ман муддати тӯлонӣ таҳқиқ кардам, ман бисёр гузоришҳоро хондам, дубора интихоб кардам ва онро симулятори кластер номидам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мушкилот дар он буд, ки устоди кӯҳна наметавонад як репликаи муқаррарӣ шавад, яъне Патрони онро оғоз кард, Патрони нишон дод, ки ин гиреҳ ҳамчун реплика мавҷуд аст, аммо дар айни замон он як нусхаи муқаррарӣ нест. Акнун шумо хоҳед дид, ки чаро. Ин аст он чизе ки ман аз таҳлили он мушкилот нигоҳ доштам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва ҳамааш чӣ гуна оғоз ёфт? Он, чунон ки дар мушкилоти қаблӣ, бо тормозҳои диск оғоз ёфт. Мо барои як сония, ду ӯҳдадорӣ доштем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар робитаҳо танаффусҳо буданд, яъне мизоҷон канда шуданд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Бастанҳои вазнинии гуногун вуҷуд доштанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва, мувофиқан, зерсистемаи диск чандон ҷавобгӯ нест.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва чизи пурасрор барои ман ин дархости қатъи фаврӣ мебошад, ки расида буд. Postgres дорои се намуди хомӯшкунӣ мебошад:

  • Вақте ки мо интизор мешавем, ки ҳама муштариён мустақилона аз пайвастшавӣ ҷудо мешаванд, ин хеле зебост.
  • Вақте ки мо муштариёнро маҷбур мекунем, ки пайвастшавиро қатъ кунем, зуд аст, зеро мо хомӯш мешавем.
  • Ва фавран. Дар ин ҳолат, фаврӣ ҳатто ба мизоҷон намегӯяд, ки хомӯш шаванд, он танҳо бидуни огоҳӣ хомӯш мешавад. Ва ба ҳамаи муштариён, системаи амалиётӣ аллакай паёми RST мефиристад (паёми TCP, ки пайвастшавӣ қатъ шудааст ва муштарӣ чизи дигаре барои дастгир кардан надорад).

Ин сигналро кӣ фиристод? Равандҳои пасзаминаи Postgres ин гуна сигналҳоро ба ҳамдигар намефиристанд, яъне ин kill-9 аст. Онҳо ба ҳамдигар чунин чизҳоро намефиристанд, онҳо танҳо ба чунин чизҳо вокуниш нишон медиҳанд, яъне ин аз нав оғоз кардани ҳолати фавқулоддаи Postgres аст. Кӣ фиристодааст, ман намедонам.

Ман ба фармони "охирин" нигоҳ кардам ва як нафарро дидам, ки низ бо мо ба ин сервер ворид шудааст, аммо аз додани савол хеле шарм доштам. Шояд ин кушта шуд -9. Ман дар гузоришҳо кушта -9 медидам, зеро Postgres мегӯяд, ки барои куштани -9 лозим буд, аммо ман онро дар гузоришҳо надидам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ба дуртар нигариста дидам, ки Патрони ба журнал хеле дуру дароз — 54 сония нанавишт. Ва агар ду тамғаи вақтро муқоиса кунем, тақрибан 54 сония ягон паём набуд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва дар ин муддат як autofile вуҷуд дошт. Патронй дар ин чо боз нагз кор кард. Устоди пири мо дастнорас буд, ба ӯ чизе шуд. Ва интихоби устоди нав оғоз ёфт. Дар ин ҷо ҳама чиз хуб кор кард. pgsql01 мо пешвои нав шуд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Мо як нусхае дорем, ки устод шудааст. Ва ҷавоби дуюм вуҷуд дорад. Ва бо нусхаи дуюм мушкилот вуҷуд дошт. Вай кӯшиш кард, ки аз нав танзим кунад. Тавре ки ман мефаҳмам, вай кӯшиш кард, ки recovery.conf -ро тағир диҳад, Postgres-ро аз нав оғоз кунад ва ба устоди нав пайваст шавад. Вай ҳар 10 сония паём менависад, ки кӯшиш мекунад, аммо муваффақ намешавад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва ҳангоми ин кӯшишҳо ба устои кӯҳна сигнали фаврӣ хомӯш мешавад. Устод аз нав оғоз мешавад. Ва инчунин барқарорсозӣ қатъ мешавад, зеро устои кӯҳна ба бозсозӣ меравад. Яъне реплика ба он пайваст шуда наметавонад, зеро он дар реҷаи хомӯш аст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар баъзе мавридҳо он кор кард, аммо такрорӣ оғоз нашуд.

Ягона тахмини ман ин аст, ки дар recovery.conf як суроғаи устоди кӯҳна мавҷуд буд. Ва ҳангоме ки устои нав пайдо шуд, репликаи дуюм ҳанӯз кӯшиш мекард, ки ба устоди кӯҳна пайваст шавад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Вақте ки Patroni ба нусхаи дуюм оғоз кард, гиреҳ оғоз шуд, аммо такрор карда натавонист. Ва ақибмонии такрорӣ ба вуҷуд омад, ки ба ин монанд буд. Яъне, ҳар се гиреҳ дар ҷои худ буд, аммо гиреҳи дуюм ақиб монд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Дар айни замон, агар шумо ба гузоришҳои навишташуда назар кунед, шумо мебинед, ки такрорӣ оғоз карда наметавонист, зеро гузоришҳои транзаксияҳо гуногун буданд. Ва он гузоришҳои муомилот, ки устод пешниҳод мекунанд, ки дар recovery.conf нишон дода шудаанд, ба гиреҳи кунунии мо мувофиқат намекунанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва дар ин ҷо ман хато кардам. Ман бояд омада бубинам, ки дар recovery.conf чӣ буд, то фарзияи худро санҷам, ки мо ба устоди нодуруст пайвастем. Аммо он вақт ман танҳо бо ин сару кор доштам ва ин ба сарам намеомад, ё дидам, ки реплика ақиб мондааст ва бояд аз нав пур карда шавад, яъне ман гӯё бепарво кор кардам. Ин муштараки ман буд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Пас аз 30 дақиқа, админ аллакай омад, яъне ман Патрониро дар реплика дубора оғоз кардам. Ман аллакай ба он хотима додам, фикр кардам, ки онро аз нав пур кардан лозим аст. Ва ман фикр кардам - ​​ман Патрониро аз нав оғоз мекунам, шояд чизи хубе рӯй диҳад. Барқароркунӣ оғоз шуд. Ва пойгоҳ ҳатто кушода шуд, барои қабули пайвастҳо омода буд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Репликатсия оғоз шуд. Аммо пас аз як дақиқа, вай бо хатогӣ афтод, ки гузоришҳои муомилот барои ӯ мувофиқ нестанд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман фикр мекардам, ки ман аз нав оғоз мекунам. Ман Patroni-ро аз нав оғоз кардам ва ман Postgres-ро аз нав оғоз накардам, аммо Patroni-ро бо умеде, ки он ба таври сеҳрнок базаи маълумотро оғоз мекунад, аз нав оғоз кардам.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Репликатсия дубора оғоз шуд, аммо нишонаҳо дар сабти муомилот гуногун буданд, онҳо бо кӯшиши оғози қаблӣ яксон набуданд. Репликатсия боз қатъ шуд. Ва паём аллакай каме дигар буд. Ва он барои ман чандон иттилоотӣ набуд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва он гоҳ ба ман чунин меояд - чӣ мешавад, агар ман Postgres-ро бозоғоз кунам, дар айни замон ман дар устои ҷорӣ як нуқтаи назорат мегузорам, то нуқтаро дар сабти транзаксия каме ба пеш ҳаракат кунад, то барқароршавӣ аз лаҳзаи дигар оғоз шавад? Илова бар ин, мо то ҳол захираҳои WAL доштем.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман Patroni-ро аз нав оғоз кардам, дар усто як чанд нуқтаи назоратиро анҷом додам, дар реплика ҳангоми кушодани он чанд нуқтаи аз нав оғоз кардам. Ва он кӯмак кард. Ман муддати дароз фикр мекардам, ки чаро он кӯмак кард ва чӣ тавр кор кард. Ва нусхабардорӣ оғоз ёфт. Ва такрорӣ дигар канда нашуд.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Чунин мушкилот барои ман яке аз мушкилоти пурасрортар аст, ки ман то ҳол дар бораи он чизе, ки воқеан дар он ҷо рух додааст, фикр мекунам.

Дар ин ҷо чӣ натиҷаҳо доранд? Patroni метавонад мувофиқи таъиншуда ва бе ягон хато кор кунад. Аммо дар айни замон, ин 100% кафолат нест, ки дар мо ҳама чиз хуб аст. Реплика метавонад оғоз шавад, аммо он метавонад дар ҳолати нимкорӣ бошад ва барнома бо чунин нусхабардорӣ кор карда наметавонад, зеро он ҷо маълумоти кӯҳна хоҳад буд.

Ва пас аз файлкунанда, шумо ҳамеша бояд тафтиш кунед, ки ҳама чиз бо кластер мувофиқ аст, яъне шумораи зарурии репликаҳо вуҷуд дорад, таъхири такрорӣ вуҷуд надорад.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ва хангоме ки мо аз ин масъалахо мегузарем, ман тавсияхо медихам. Ман кӯшиш кардам, ки онҳоро ба ду слайд муттаҳид кунам. Эхтимол, хамаи хикояхоро ба ду слайд якчоя кардан ва танхо накл кардан мумкин аст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ҳангоми истифодаи Patroni, шумо бояд мониторинг дошта бошед. Шумо бояд ҳамеша донед, ки кай сабти автоматӣ рух додааст, зеро агар шумо намедонед, ки шумо файли худкор доред, шумо кластерро идора карда наметавонед. Ва ин бад аст.

Пас аз ҳар як файл, мо бояд ҳамеша кластерро дастӣ тафтиш кунем. Мо бояд боварӣ ҳосил кунем, ки мо ҳамеша шумораи муосири репликаҳоро дорем, қафомонии такрорӣ вуҷуд надорад, дар гузоришҳои марбут ба такрори ҷараён бо Patroni, бо системаи DCS хатогиҳо вуҷуд надоранд.

Автоматика бомуваффакият кор карда метавонад, Патрони асбоби хеле хуб аст. Он метавонад кор кунад, аммо ин кластерро ба ҳолати дилхоҳ намерасонад. Ва агар мо дар ин бора огоҳ нашавем, мо ба душворӣ дучор мешавем.

Ва Патрони тири нуқра нест. Мо то ҳол бояд фаҳмем, ки Postgres чӣ гуна кор мекунад, репликатсия чӣ гуна кор мекунад ва Патрони бо Postgres чӣ гуна кор мекунад ва иртибот байни гиреҳҳо чӣ гуна таъмин карда мешавад. Ин барои он зарур аст, ки мушкилотро бо дасти худ ҳал карда тавонед.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман ба масъалаи ташхис чӣ гуна муносибат мекунам? Чунин шуд, ки мо бо мизоҷони гуногун кор мекунем ва ҳеҷ кас стеки ELK надорад ва мо бояд гузоришҳоро бо кушодани 6 консол ва 2 ҷадвал ҷудо кунем. Дар як ҷадвал инҳо гузоришҳои Patroni барои ҳар як гиреҳ, дар ҷадвали дигар инҳо гузоришҳои консулӣ ё агар лозим бошад Postgres мебошанд. Инро ташхис кардан хеле душвор аст.

Ман кадом роҳҳоро пеш гирифтаам? Аввалан, ман ҳамеша мебинам, ки кай файл омадааст. Ва ин барои ман як ҳавзаи об аст. Ман ба он чизе ки пеш аз файл, дар давоми файл ва пас аз файл рӯй дод, назар мекунам. Файли файл ду аломат дорад: ин вақти оғоз ва анҷоми он аст.

Баъдан, ман дар гузоришҳо рӯйдодҳои пеш аз файлкунандаро, ки пеш аз файлкунанда буданд, меҷӯям, яъне ман сабабҳои рух додани файлро меҷӯям.

Ва ин тасвири дарки чӣ рӯй дод ва дар оянда чӣ кор кардан мумкин аст, то ки чунин ҳолатҳо рух надиҳад (ва дар натиҷа, файл нест).

Ва мо одатан ба куҷо нигоҳ мекунем? Ман нигоҳ мекунам:

  • Якум, ба гузоришҳои Patroni.
  • Минбаъд, ман ба гузоришҳои Postgres ё гузоришҳои DCS, вобаста ба он чизе, ки дар гузоришҳои Patroni пайдо шудааст, назар мекунам.
  • Ва гузоришҳои система низ баъзан фаҳмиш медиҳанд, ки чӣ гуна файлро ба вуҷуд овардааст.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Ман нисбати Patroni чӣ ҳис мекунам? Ман бо Патрони хеле хуб муносибат дорам. Ба андешаи ман, ин беҳтарини имрӯза аст. Ман бисёр маҳсулоти дигарро медонам. Инҳо Stolon, Repmgr, Pg_auto_failover, PAF мебошанд. 4 асбоб. Ман ҳамаи онҳоро санҷидам. Патрони дӯстдоштаи ман аст.

Агар аз ман пурсанд: «Оё ман Патрониро тавсия медиҳам?». Ман мегӯям, ки ҳа, зеро ба ман Патрони маъқул аст. Ва ман фикр мекунам, ки ман чӣ гуна пухтанро омӯхтам.

Агар шумо хоҳед бинед, ки ба ғайр аз мушкилоте, ки ман гуфтам, бо Patroni чӣ мушкилоти дигар вуҷуд дорад, шумо ҳамеша метавонед саҳифаро тафтиш кунед масъалањои дар GitHub. Дар он чо бисьёр вокеахои гуногун ва бисьёр масъалахои ачоиб мухокима карда мешаванд. Ва дар натиҷа, баъзе хатогиҳо ҷорӣ ва ҳал карда шуданд, яъне ин хониши ҷолиб аст.

Дар бораи одамоне, ки ба пои худ тир мепарронанд, баъзе ҳикояҳои ҷолиб вуҷуд доранд. Хеле иттилоотӣ. Шумо хондаед ва мефаҳмед, ки ин тавр кардан лозим нест. Ман худам ишора кардам.

Ва ман мехоҳам ба Заландо барои таҳияи ин лоиҳа, аз ҷумла ба Александр Кукушкин ва Алексей Клюкин ташаккури зиёд бигӯям. Алексей Клюкин яке аз ҳаммуаллифон аст, ӯ дигар дар Заландо кор намекунад, аммо ин ду нафаре ҳастанд, ки бо ин маҳсулот ба кор шурӯъ кардаанд.

Ва ман фикр мекунам, ки Патрони як чизи хеле олист. Ман хурсандам, ки вай вуҷуд дорад, бо ӯ ҷолиб аст. Ва ташаккури калон ба ҳамаи саҳмгузороне, ки ба Patroni часбҳо менависанд. Умедворам, ки Патрони бо мурури синну сол баркамол, сард ва муассиртар мешавад. Он аллакай фаъол аст, аммо ман умедворам, ки он боз ҳам беҳтар мешавад. Аз ин рӯ, агар шумо нақшаи истифодаи Patroni дошта бошед, натарсед. Ин як ҳалли хуб аст, онро метавон амалӣ ва истифода кард.

Ҳамааш ҳамин. Агар шумо савол дошта бошед, пурсед.

Ҳикояҳои нокомии Patroni ё чӣ гуна кластери PostgreSQL-и худро вайрон кардан мумкин аст. Алексей Лесовский

Саволҳои шумо

Ташаккур барои гузориш! Агар пас аз файл ба шумо лозим аст, ки ба он ҷо бодиққат назар кунед, пас чаро ба мо файлҳои автоматӣ лозим аст?

Зеро он чизи нав аст. Мо ҳамагӣ як сол бо ӯ ҳастем. Беҳтараш бехатар бошад. Мо мехоҳем ворид шавем ва бубинем, ки ҳама чиз воқеан тавре сурат гирифт, ки бояд бошад. Ин сатҳи нобоварии калонсолон аст - беҳтар аст, ки дубора тафтиш кунед ва бубинед.

Масалан, мо саҳар рафтем ва дидем, дуруст?

На субҳ, мо одатан дар бораи autofile қариб фавран маълумот мегирем. Мо огоҳиҳоро мегирем, мо мебинем, ки файли худкор рух додааст. Мо кариб дархол рафта мебинем. Аммо ҳамаи ин санҷишҳо бояд ба сатҳи мониторинг оварда шаванд. Агар шумо ба Patroni тавассути REST API дастрасӣ пайдо кунед, таърих вуҷуд дорад. Аз рӯи таърих шумо метавонед тамғаҳои вақтро ҳангоми рух додани файл дидан кунед. Дар асоси ин, мониторинг метавонад анҷом дода шавад. Шумо метавонед таърихро бубинед, ки чӣ қадар воқеаҳо буданд. Агар мо ҳодисаҳои бештар дошта бошем, пас файли худкор ба амал омадааст. Шумо метавонед рафта бубинед. Ё автоматикунонии мониторинги мо тафтиш кард, ки мо ҳама репликаҳоро дар ҷои худ дорем, ҳеҷ ақибмонӣ вуҷуд надорад ва ҳама чиз хуб аст.

Ташаккур!

Ташаккури зиёд барои ҳикояи олӣ! Агар мо кластери DCS-ро ба ҷои дур аз кластери Postgres кӯчонида бошем, пас ин кластер низ бояд давра ба давра хидмат карда шавад? Таҷрибаҳои беҳтарине ҳастанд, ки баъзе қисмҳои кластери DCS бояд хомӯш карда шаванд, чизе бо онҳо кор мекунад ва ғайра? Чӣ тавр тамоми ин сохтор зинда мемонад? Ва шумо ин корҳоро чӣ тавр мекунед?

Барои як ширкат матритсаи мушкилотро тартиб додан лозим буд, ки агар яке аз ҷузъҳо ё якчанд ҷузъҳо ноком шавад, чӣ мешавад. Тибқи ин матритса, мо пай дар пай аз тамоми ҷузъҳо мегузарем ва дар сурати нокомии ин ҷузъҳо сенарияҳо месозем. Бинобар ин, барои ҳар як сенарияи нокомӣ, шумо метавонед нақшаи амалиёти барқарорсозӣ дошта бошед. Ва дар мавриди DCS, он ҳамчун як қисми инфрасохтори стандартӣ меояд. Ва администратор онро идора мекунад ва мо аллакай ба маъмуроне, ки онро идора мекунанд ва қобилияти онҳо барои ислоҳи он дар ҳолати садамаҳо такя мекунем. Агар умуман DCS вуҷуд надошта бошад, мо онро ҷойгир мекунем, аммо дар айни замон мо онро махсусан назорат намекунем, зеро мо барои инфрасохтор масъул нестем, аммо мо тавсия медиҳем, ки чӣ гуна ва чӣ назорат кунем.

Яъне, оё ман дуруст фаҳмидам, ки ман бояд Patroni-ро хомӯш кунам, файлро хомӯш кунам, ҳама чизро пеш аз кор кардан бо ҳостҳо хомӯш кунам?

Ин аз он вобаста аст, ки мо дар кластери DCS чанд гиреҳ дорем. Агар гиреҳҳои зиёд вуҷуд дошта бошанд ва агар мо танҳо яке аз гиреҳҳоро ғайрифаъол кунем (реплика), он гоҳ кластер кворумро нигоҳ медорад. Ва Patroni фаъол боқӣ мемонад. Ва ҳеҷ чиз ба вуҷуд намеояд. Агар мо якчанд амалиёти мураккаб дошта бошем, ки ба гиреҳҳои бештар таъсир расонанд, ки набудани онҳо метавонад кворумро вайрон кунад, пас - бале, Патрониро ба таваққуф гузоштан маъно дорад. Он дорои фармони мувофиқ - patronictl pause, patronictl resume. Мо танҳо таваққуф мекунем ва автоматӣ дар он вақт кор намекунад. Мо дар кластери DCS нигоҳдорӣ мекунем, пас таваққуфро қатъ мекунем ва зиндагиро идома медиҳем.

Ташаккури зиёд!

Ташаккури зиёд барои гузоришатон! Гурӯҳи маҳсулот дар бораи гум шудани маълумот чӣ гуна фикр мекунад?

Коллективхои махсулоттайёркунй парво надоранд ва рохбарони бригада хавотиранд.

Кадом кафолатҳо вуҷуд доранд?

Кафолатҳо хеле душворанд. Александр Кукушкин дорои гузориши "Чӣ тавр ҳисоб кардани RPO ва RTO", яъне вақти барқароршавӣ ва чӣ қадар маълумотро мо гум карда метавонем. Ман фикр мекунам, ки мо бояд ин слайдҳоро пайдо кунем ва онҳоро омӯзем. То ҷое ки ман дар ёд дорам, дар бораи чӣ гуна ҳисоб кардани ин чизҳо қадамҳои мушаххас мавҷуданд. Мо чӣ қадар транзаксияҳоро аз даст дода метавонем, чӣ қадар маълумотро аз даст дода метавонем. Ҳамчун вариант, мо метавонем такрори синхронӣ дар сатҳи Patroni истифода барем, аммо ин шамшери дудама аст: мо ё эътимоднокии маълумот дорем, ё суръатро аз даст медиҳем. Репликатсияи синхронӣ вуҷуд дорад, аммо он инчунин 100% муҳофизатро аз талафи маълумот кафолат намедиҳад.

Алексей, ташаккур барои гузориши олӣ! Таҷрибаи истифодаи Patroni барои ҳифзи сатҳи сифр? Яъне, дар якҷоягӣ бо интизории синхронӣ? Ин саволи аввал аст. Ва саволи дуюм. Шумо роҳҳои ҳалли гуногунро истифода бурдед. Мо Repmgr-ро истифода мебарем, аммо бе autofiler ва ҳоло мо нақша дорем, ки autofiler-ро дохил кунем. Ва мо Патрониро як роҳи ҳалли алтернативӣ мешуморем. Шумо дар муқоиса бо Repmgr чӣ бартарият гуфта метавонед?

Саволи аввал дар бораи репликаҳои синхронӣ буд. Дар ин ҷо ҳеҷ кас репликаи синхронӣ истифода намебарад, зеро ҳама метарсанд (якчанд муштариён аллакай онро истифода мебаранд, аслан онҳо мушкилоти иҷроишро пай набурданд - Нотики маърузачй). Аммо мо барои худ қоидаеро таҳия кардаем, ки дар кластери репликатсияи синхронӣ бояд ҳадди аққал се гиреҳ бошад, зеро агар мо ду гиреҳ дошта бошем ва агар устод ё реплика ноком шавад, Патрони ин гиреҳро ба ҳолати мустақил мегузаронад, то барнома идома диҳад. кор. Дар ин ҳолат, хатари гум шудани маълумот вуҷуд дорад.

Дар мавриди саволи дуюм, мо Repmgr-ро истифода бурдем ва то ҳол бо баъзе муштариён бо сабабҳои таърихӣ кор мекунем. Чӣ гуфтан мумкин аст? Patroni бо як худкор аз қуттӣ меояд, Repmgr бо autofiler ҳамчун хусусияти иловагӣ меояд, ки бояд фаъол карда шавад. Мо бояд демони Repmgr-ро дар ҳар як гиреҳ иҷро кунем ва он гоҳ мо метавонем худфилерро танзим кунем.

Repmgr тафтиш мекунад, ки гиреҳҳои Postgres зиндаанд. Равандҳои Repmgr мавҷудияти якдигарро тафтиш мекунанд, ин як равиши чандон муассир нест. метавонад ҳолатҳои мураккаби ҷудошавии шабака вуҷуд дошта бошанд, ки дар он кластери калони Repmgr метавонад ба якчанд кластери хурдтар ҷудо шавад ва корро идома диҳад. Ман муддати тӯлонӣ Repmgr-ро пайгирӣ накардаам, шояд он ислоҳ шудааст ... ё шояд не. Аммо нест кардани маълумот дар бораи ҳолати кластер дар DCS, тавре ки Столон, Патрони мекунад, варианти мувофиқтарин аст.

Алексей, ман як савол доштам, шояд саволе бошад. Дар яке аз мисолҳои аввал, шумо DCS-ро аз мошини маҳаллӣ ба мизбони дурдаст интиқол додед. Мо мефаҳмем, ки шабака чизест, ки хусусиятҳои худро дорад, худ ба худ зиндагӣ мекунад. Ва агар бо ягон сабаб кластери DCS дастнорас гардад, чӣ мешавад? Сабабҳоро намегӯям, онҳо метавонанд зиёд бошанд: аз дасти каҷи шабакадорон то мушкилоти воқеӣ.

Ман инро бо овози баланд нагуфтам, аммо кластери DCS низ бояд ноком бошад, яъне он шумораи тоқи гиреҳҳо бошад, то кворум риоя шавад. Чӣ мешавад, агар кластери DCS дастнорас гардад ё кворум риоя карда нашавад, яъне ягон намуди тақсими шабака ё нокомии гиреҳ? Дар ин ҳолат, кластери Patroni ба ҳолати танҳо хондан мегузарад. Кластери Patroni наметавонад ҳолати кластерро муайян кунад ва чӣ кор кунад. Он наметавонад бо DCS тамос гирад ва ҳолати кластери навро дар он ҷо нигоҳ дорад, аз ин рӯ тамоми кластер танҳо ба хондан мегузарад. Ва мунтазири дахолати дастӣ аз ҷониби оператор ё барқароршавии DCS аст.

Тақрибан гӯем, DCS барои мо ҳамчун худи пойгоҳ хидмате мешавад?

Ҳа Бале. Дар бисёре аз ширкатҳои муосир, Service Discovery як қисми ҷудонашавандаи инфрасохтор мебошад. Он ҳатто пеш аз мавҷудияти пойгоҳи додаҳо дар инфрасохтор амалӣ карда мешавад. Нисбатан, инфрасохтор ба кор андохта шуд, дар DC ҷойгир карда шуд ва мо фавран Service Discovery дорем. Агар он консул бошад, DNS-ро дар он сохтан мумкин аст. Агар ин Etcd бошад, пас метавонад як қисми кластери Кубернетес бошад, ки дар он ҳама чизи дигар ҷойгир карда мешавад. Ба назари ман, Discovery Service аллакай як ҷузъи ҷудонашавандаи инфрасохтори муосир аст. Ва онҳо дар ин бора хеле пештар назар ба пойгоҳи додаҳо фикр мекунанд.

Ташаккур!

Манбаъ: will.com

Илова Эзоҳ