Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko te whainga matua a Patroni ko te whakarato i te Waatanga Nui mo PostgreSQL. Engari he tauira noa a Patroni, ehara i te taputapu kua rite (e kiia ana i roto i nga tuhinga). I te titiro tuatahi, i te whakatuu i a Patroni ki te taiwhanga whakamatautau, ka kite koe he aha te taputapu pai me te ngawari ki te whakahaere i a maatau ngana ki te wawahi i te tautau. Heoi, i roto i nga mahi, i roto i te taiao whakangao, kaore nga mea katoa e tupu i nga wa katoa he ataahua me te huatau penei i roto i te taiwhanga whakamatautau.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ka korero ahau ki a koe he iti mo au. I timata ahau hei kaiwhakahaere punaha. I mahi i roto i te whanaketanga paetukutuku. Kua mahi ahau i te Data Egret mai i te tau 2014. Kei te mahi te kamupene ki nga korero mo te waahi o Postgres. Ka mahi tonu matou ki a Postgres, a ka mahi tahi matou me Postgres ia ra, no reira he rereke o matou tohungatanga e pa ana ki te mahi.

A i te mutunga o te tau 2018, i timata taatau ki te whakamahi i a Patroni. A kua kohia etahi wheako. I whakatauhia e matou, i whakatauhia, i tae ki o maatau mahi pai. A i roto i tenei purongo ka korero ahau mo ratou.

I tua atu i te Postgres, e aroha ana ahau ki a Linux. He pai ki a au te kohi i roto i a au me te tuhura, he pai ki a au te kohi uho. He pai ki ahau te mariko, ipu, docker, Kubernetes. Ko enei mea katoa e pai ana ki a au, na te mea e pa ana nga tikanga o mua. He pai ki ahau te aro turuki. A he pai ki ahau nga mea postgres e pa ana ki te whakahaere, ara te tukurua, te taapiri. A i roto i aku wa waatea ka tuhi ahau ki te Haere. Ehara ahau i te miihini rorohiko, ka tuhi noa ahau mo au ano ki a Go. Na ka homai e ahau te ahuareka.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

  • Ki taku whakaaro he maha o koutou e mohio ana kaore a Postgres i te HA (High Availability) i waho o te pouaka. Ki te tiki HA, me whakauru koe i tetahi mea, whirihora, whakapau kaha me te tiki.
  • He maha nga taputapu, a ko Patroni tetahi o enei e whakaoti ana i te HA tino pai me te tino pai. Engari ma te whakauru katoa ki roto i te taiwhanga whakamatautau me te whakahaere, ka kite tatou kei te mahi katoa, ka taea e tatou te whakaputa i etahi raru, tirohia te mahi a Patroni ki a raatau. A ka kite tatou he pai nga mahi katoa.
  • Engari i roto i nga mahi, he rereke nga raruraru i pa ki a matou. A ka korero ahau mo enei raruraru.
  • Ka korerotia e ahau ki a koe me pehea i whakatauhia e matou, he aha ta matou i takawiri - ahakoa i awhina i a maatau, kaore ranei.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

  • Kaore ahau e korero ki a koe me pehea te whakauru i a Patroni, na te mea ka taea e koe te google i runga i te Ipurangi, ka taea e koe te titiro ki nga konae whirihoranga kia mohio ai koe me pehea te tiimata katoa, me pehea te whirihora. Ka taea e koe te mohio ki nga kaupapa, nga hoahoanga, te rapu korero mo taua mea i runga i te Ipurangi.
  • E kore ahau e korero mo te wheako o tetahi atu. Ka korero noa ahau mo nga raruraru i pa ki a matou.
  • A kaore au e korero mo nga raruraru kei waho o Patroni me PostgreSQL. Mena, hei tauira, he raruraru e pa ana ki te whakataurite, ka hinga to tatou kahui, kare au e korero.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A he iti nei te whakakore i mua i te tiimata o ta maatau ripoata.

Ko enei raruraru katoa i pa ki a matou, i pa ki a matou i nga marama 6-7-8 tuatahi o te mahi. I te roanga o te wa, ka tae matou ki o maatau mahi pai o roto. Na ka ngaro o matou raruraru. Na reira, i panuitia te purongo e ono marama ki muri, i te mea he hou katoa i roto i toku mahunga, ka maumahara au ki nga mea katoa.

I a au e whakarite ana i te purongo, kua whakaarahia e au nga poupoutanga tawhito, kua titiro ki nga rakau. A ko etahi o nga korero ka warewarehia, ko etahi o nga korero kaore e taea te tirotiro katoa i te wa o te wetewete i nga raruraru, na i etahi wa ka ahua kaore i te tino whakaarohia nga raruraru, kei te kore he korero. Na ka tono atu ahau ki a koe kia murua ahau mo tenei wa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

He aha te Patroni?

  • He tauira tenei mo te hanga HA. Koira te korero i roto i nga tuhinga. A, ki taku titiro, he tino tika te whakamarama. Ehara a Patroni i te matā hiriwa hei whakaoti i o raru katoa, ara, me whakapau kaha koe ki te mahi me te whai hua.
  • He ratonga kaihoko tenei ka whakauruhia ki runga i ia ratonga papaa raraunga, he momo punaha init mo to Postgres. Ka tiimata te Postgres, ka mutu, ka whakaara ano, ka whirihora ano, ka huri i te topology o to huinga.
  • Na reira, hei penapena i te ahua o te tautau, tona ahua o naianei, i te ahua o te ahua, ka hiahiatia etahi momo rokiroki. A, mai i tenei tirohanga, i whai a Patroni i te huarahi ki te penapena i te ahua i roto i te punaha o waho. He punaha rokiroki whirihoranga tohatoha. Ka taea te Etcd, Consul, ZooKeeper, kubernetes Etcd ranei, ara tetahi o enei whiringa.
  • A ko tetahi o nga ahuatanga o Patroni ko te tango i te autofiler mai i te pouaka, ma te whakarite anake. Mena ka tangohia e matou a Repmgr hei whakataurite, ka whakauruhia te kaipatu ki reira. Ma te Repmgr, ka whiwhi maatau, engari ki te hiahia tatou ki te kaipatu aunoa, me whirihora ano. Kei a Patroni he hiri-aunoa kei waho o te pouaka.
  • A he maha atu ano nga mea. Hei tauira, te tiaki i nga whirihoranga, te ringihanga i nga tauira hou, te taapiri, me era atu. Engari kei tua atu tenei i te whānuitanga o te purongo, e kore ahau e korero.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A ko tetahi hua iti ko te mahi matua a Patroni he pai te mahi i tetahi konaeaunoa me te pono kia mau tonu te mahi a to tatou kahui kia kore ai e kitea e te tono nga huringa o te topology o te roopu.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Engari ka tiimata ana taatau ki te whakamahi i a Patroni, ka uaua ake to maatau punaha. Mena i mua i a matou he Postgres, katahi ka whakamahia e matou a Patroni ka whiwhi matou i a Patroni ano, ka whiwhi matou i te DCS kei te penapena whenua. A me mahi katoa. Na he aha te mea ka he?

Ka pakaru:

  • Ka pakaru pea nga pou. Ka taea he rangatira, he tauira ranei, tera pea ka taka tetahi.
  • Ko te Patroni ano ka pakaru.
  • Ka pakaru pea te DCS kei te penapena whenua.
  • A ka pakaru te whatunga.

Ko enei mea katoa ka whakaarohia e au i roto i te ripoata.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ka whakaarohia e au nga keehi ka kaha ake te uaua, ehara i te mea he maha nga waahanga kei roto i te keehi. A, mai i te tirohanga o nga kare-a-roto, he uaua tenei keehi ki a au, he uaua ki te wetewete ... me te rereke, he maamaa etahi keehi, he ngawari ki te wetewete.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A ko te keehi tuatahi te mea ngawari. Koinei te take i tangohia e matou he huinga putunga raraunga me te hora i to matou rokiroki DCS ki runga i te roopu kotahi. Koinei te hapa tino noa. He he tenei ki te hanga i nga hoahoanga, ara, te whakakotahi i nga waahanga rereke ki te waahi kotahi.

Na, tera tetahi kaipatu, me haere tatou ki te mahi i nga mea i tupu.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na konei kei te pirangi matou i te wa i puta ai te kaipatu. Arā, kei te pirangi matou ki tenei wa i te wa i huri ai te ahua o te roopu.

Engari karekau tonu te kaikoeke i nga wa katoa, ara, karekau he wa roa, ka taea te whakaroa. Ka roa pea.

Nō reira, he wā tīmata me tōna wā mutunga, arā, he kaupapa haere tonu. Na ka wehewehea e matou nga huihuinga katoa ki nga wahanga e toru: he wa to matou i mua i te kaipakihi, i te wa o te kaipakihi me muri i te kaipatu. Arā, ka whakaarohia e mātou ngā kaupapa katoa i tēnei rārangi wā.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A, ko te mea tuatahi, i te wa i pa mai ai tetahi kaikorero, ka tirohia te take o te mea i tupu, he aha te take i puta ai te kaipatu.

Ki te titiro tatou ki nga poro, he rakau Patroni matarohia. Ka kii mai ia ki a matou i roto i a raatau kua riro te kaimau hei rangatira, a kua tukuna te mahi a te rangatira ki tenei node. I konei kua tohua.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I muri mai, me maarama tatou he aha te take i tupu ai te kaikoeke, ara he aha nga kaupapa i puta ai te mahi matua ki te neke mai i tetahi pona ki tetahi atu. A, i tenei keehi, he ngawari nga mea katoa. He hapa ta matou ki te mahi tahi me te punaha rokiroki. I mohio te rangatira kaore e taea e ia te mahi tahi me te DCS, ara, he raruraru kei te taunekeneke. A e kii ana ia kua kore e taea e ia te rangatira me te rihaina. Ko tenei rarangi "whakaheke i a koe ano" te korero tika.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Mena ka titiro tatou ki nga kaupapa i mua i te kaipatu, ka kite tatou i nga take i raru ai te ruānuku.

Mena ka titiro tatou ki nga rarangi Patroni, ka kite tatou he nui nga hapa, he wa poto, ara, kaore e taea e te kaihoko Patroni te mahi tahi me te DCS. I tenei keehi, ko te Kaihopu Kaitohutohu tenei, e korero ana i runga i te tauranga 8500.

A ko te raruraru i konei ko te Patroni me te papaarangi kei te whakahaere i runga i te ope kotahi. Na ka whakarewahia nga kaitoro Kaihoko i runga i te node kotahi. Na roto i te hanga kawenga i runga i te tūmau, i hanga raruraru matou mo nga kaitoro Consul hoki. Kaore i taea e ratou te korero tika.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I muri i etahi wa, i te wa i heke ai te kawenga, ka taea e to tatou Patroni te korero ano ki nga kaihoko. Kua timata ano te mahi. A ko taua tūmau Pgdb-2 ano te rangatira. Arā, he iti te hurihanga, na te mea i rīhaina e te kōpuku nga mana o te rangatira, katahi ka mau ano, ara, ka hoki mai nga mea katoa ki tona ahua.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ka taea te kii he whakaoho teka tenei, ka taea ranei te kii he tika nga mahi katoa a Patroni. Arā, i mohio ia kaore e taea e ia te pupuri i te ahua o te roopu me te tango i tana mana.

Na i konei ka puta te raruraru na te mea ko nga kaitoro Consul kei runga i nga taputapu rite ki nga turanga. No reira, ahakoa he kawenga: ahakoa ko te utaina i runga i nga kopae, i nga kaitukatuka ranei, ka pa ano ki te taunekeneke me te roopu Consul.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na ka whakatau matou kia kaua e noho tahi, i tohaina e matou he kahui motuhake mo te Kaihopu. A kei te mahi tahi a Patroni me tetahi Kaunihera motuhake, ara, he kahui Postgres motuhake, he roopu Kaihopu motuhake. He tohutohu taketake tenei mo te kawe me te pupuri i enei mea katoa kia kore ai e noho tahi.

Hei kowhiringa, ka taea e koe te huri i nga tawhā ttl, loop_wait, retry_timeout, ara me ngana ki te ora i enei tihi kawenga mo te wa poto ma te whakanui i enei tawhā. Engari ehara tenei i te waahanga tino pai, na te mea ka roa pea tenei kawenga. A ka haere noa tatou ki tua atu i enei rohe o enei tawhā. A kaore pea tera e tino awhina.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko te raruraru tuatahi, e mohio ana koe, he ngawari. I tangohia e matou, i whakauruhia te DCS me te turanga, ka raru matou.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko te raruraru tuarua he rite ki te tuatahi. He rite ano na te mea ka raru ano tatou ki te mahi tahi me te punaha DCS.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ki te titiro tatou ki nga poro, ka kite ano tatou he hapa korero. A e kii ana a Patroni kare e taea e au te taunekeneke ki te DCS no reira ka uru te rangatira o naianei ki te aratau tauira.

Ka noho te rangatira tawhito hei tauira, i konei e mahi ana a Patroni, e tika ana. Ka whakahaere i te pg_rewind ki te whakahoki i te raarangi tauwhitinga ka hono atu ki te rangatira hou ki te hopu i te rangatira hou. I konei ka mahi a Patroni, me tana tika.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I konei me kimihia te waahi i mua i te kaipakihi, ara, ko nga hapa i puta ai he kaipatu. Na mo tenei kaupapa, he pai te mahi a nga rakau Patroni. Ka tuhia e ia nga karere ano i etahi wa. A, ki te timata tatou ki te panuku i roto i enei raarangi, katahi ka kite mai i nga raarangi kua rereke nga raarangi, ko te tikanga kua timata etahi raruraru. Ka hoki tere mai ki tenei waahi, tirohia te aha.

A, i roto i nga ahuatanga noa, he penei te ahua o nga rakau. Ka tirohia te rangatira o te raka. A, ki te mea kua rereke te rangatira, hei tauira, katahi ka puta etahi kaupapa me whakautu e Patroni. Engari i tenei keehi, kei te pai taatau. E rapu ana matou i te waahi i timata ai nga hapa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na ka panuku ki te waahi ka tiimata te puta mai o nga hapa, ka kite tatou kua tukuna he konae-aunoa. A, i te mea ko o matou hapa i pa ki te taunekeneke ki te DCS me ta matou keehi i whakamahia e matou a Consul, ka titiro ano matou ki nga raarangi a Consul, he aha te mea i tupu i reira.

Ma te whakatairite i te wa o te kaikawe korero me te wa i roto i nga raarangi a te Consul, ka kite tatou i timata o tatou hoa noho tata i roto i te roopu Consul ki te ruarua te noho o etahi atu mema o te roopu Consul.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A, ki te titiro ano koe ki nga raarangi o etahi atu apiha Kaunihera, ka kite ano koe kei te pakaru etahi momo whatunga ki reira. A ka pohehe nga mema katoa o te roopu Consul ki te oranga o tetahi ki tetahi. Na ko tenei te akiaki mo te kaipatu.

Mena ka titiro koe ki nga mea i puta i mua i enei hapa, ka kite koe he maha nga momo hapa, hei tauira, te wa mutunga, kua hinga te RPC, ara, he tino raruraru kei roto i te taunekeneke a nga mema o te roopu Consul ki a raatau ano. .

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko te whakautu ngawari ko te whakatika i te whatunga. Engari ki ahau, e tu ana i runga i te konukawata, he ngawari te korero i tenei. Engari ko nga ahuatanga kaore e taea e te kaihoko te utu ki te whakatika i te whatunga. Ka noho pea ia i roto i te DC, karekau pea e taea te whakatika i te whatunga, ka pa ki nga taputapu. Na ka hiahiatia etahi atu whiringa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

He kōwhiringa:

  • Ko te waahanga ngawari, kua tuhia, ki taku whakaaro, ahakoa i roto i nga tuhinga, ko te whakakore i nga arowhai a Consul, ara, me tuku noa i te rarangi kau. A ka kii atu matou ki te Kaihautu kia kaua e whakamahi i nga haki. Ma enei arowhai, ka taea e tatou te wareware i enei awha whatunga me te kore e timata i te kaipakihi.
  • Ko tetahi atu whiringa ko te tirotiro takirua raft_multiplier. He tawhā tenei o te tūmau Consul ake. Ma te taunoa, kua tautuhia ki te 5. Ko tenei uara e taunakihia ana e nga tuhinga mo nga taiao whakaari. Inaa, ka pa atu tenei ki te auau o nga korero i waenga i nga mema o te whatunga Consul. Ko te tikanga, ko tenei tawhā ka pa ki te tere o te whakawhitiwhiti ratonga i waenga i nga mema o te roopu Consul. A, mo te hanga, kua tūtohutia kia whakahekehia kia maha ake ai te whakawhiti korero a nga pona.
  • Ko tetahi atu whiringa i whakaarohia e matou ko te whakanui ake i te kaupapa matua o nga tukanga Consul i roto i etahi atu tukanga mo te kaiwhakarite mahi a te punaha whakahaere. He tohu "pai" tera, ka whakatauhia e ia te kaupapa matua o nga tukanga e whakaarohia ana e te kaitirotiro OS i te wa e whakarite ana. Kua whakahekehia ano e matou te uara pai mo nga kaihoko Kaihoko, ara. i whakanuia te kaupapa matua kia nui ake te wa ki te mahi a te punaha whakahaere ki te mahi me te mahi i a raatau waehere. I roto i to maatau, na tenei i whakaoti to maatau raruraru.
  • Ko tetahi atu whiringa ko te kore e whakamahi i te Consul. He hoa ahau he tino tautoko a Etcd. A ka tautohetohe tonu matou ki a ia ko tehea te mea pai ake a Etcd ranei Consul. Engari ko tehea te mea pai ake, i te nuinga o te wa ka whakaae matou ki a ia kei a Consul tetahi kaihoko e tika ana kia whakahaere i runga i ia node me tetahi putunga raraunga. Arā, ko te taunekeneke a Patroni me te roopu Consul ka haere ma tenei kaihoko. A ka waiho tenei kaihoko hei putea. Mena ka pa tetahi mea ki te kaihoko, kaore e taea e Patroni te mahi tahi me te roopu Consul. A koinei te raruraru. Karekau he kaihoko i te mahere Etcd. Ka taea e Patroni te mahi tika me te rarangi o nga kaiwhakarato Etcd me te korero ki a raatau. I roto i tenei whakaaro, ki te whakamahi koe i te Etcd i roto i to kamupene, katahi ka pai ake a Etcd i te Consul. Engari ko taatau ki o taatau kaihoko he iti noa nga mea i whiriwhiria e te kaihoko me te whakamahi. A kei a matou te Kaihopu mo te nuinga o nga kaihoko katoa.
  • A ko te waahi whakamutunga ko te whakahou i nga uara tawhā. Ka taea e tatou te whakaara ake i enei tawhā i runga i te tumanako ka poto o tatou raruraru whatunga mo te wa poto ka kore e taka ki waho o te awhe o enei tawhā. Ma tenei ka taea e tatou te whakaiti i te kaha o Patroni ki te konae aunoa mena ka puta etahi raru whatunga.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ki taku whakaaro he maha nga hunga e whakamahi ana i a Patroni e mohio ana ki tenei whakahau.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko tenei whakahau e whakaatu ana i te ahuatanga o te kapoi. A, i te titiro tuatahi, he ahua noa tenei pikitia. He rangatira to matou, he tauira ta matou, karekau he taima tukurua. Engari he ahua noa tenei pikitia kia mohio ra ano tatou kia toru nga pona o tenei tautau, kaua e rua.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na reira, he konaeaunoa. A, i muri mai i tenei konaeaunoa, ka ngaro to maatau tauira. Me rapu tatou he aha ia i ngaro atu ai ka whakahokia mai, whakahokia mai. A ka haere ano matou ki nga rakau ka kite he aha te take i tukuna ai te konae-aunoa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I tenei take, ko te tauira tuarua te rangatira. Kei konei katoa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A me titiro ki te tauira i taka atu, karekau i te tautau. Ka whakatuwherahia e matou nga raarangi Patroni ka kite he raru to maatau i te wa e hono ana ki te roopu i te wahanga pg_rewind. Hei hono atu ki te roopu, me whakahoki ano koe i te raarangi tauwhitinga, tonohia te raarangi tauwhitinga e hiahiatia ana mai i te rangatira, me te whakamahi ki te hopu i te rangatira.

I tenei keehi, karekau he raarangi tauwhitinga kaore e taea e te tauira te tiimata. Na reira, ka aukatihia e matou a Postgres me te hapa. Na reira kaore i roto i te tautau.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Me marama tatou he aha i kore ai i roto i te tautau me te aha i kore ai he rakau. Ka haere matou ki te rangatira hou ka titiro ki ana mea kei roto i nga rakau. Te ahua nei i te wa i mahia ai te pg_rewind, ka puta he tohutaki. A ko etahi o nga raarangi tauhokohoko tawhito i whakaingoatia noa. I te wa i ngana ai te rangatira tawhito ki te hono atu ki te rangatira hou me te patai i enei raarangi, kua whakaingoatia ano, kua kore noa iho.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I whakaritea e ahau nga tohu wa i te wa i puta ai enei kaupapa. Na ko te rereketanga ko te 150 milliseconds, ara, ko te waahi tirotiro i oti i roto i te 369 milliseconds, kua whakaingoatia nga wahanga WAL. A, i roto i te 517, i muri i te 150 milliseconds, ka timata te whakahoki mai i runga i te tauira tawhito. Arā, ko te tikanga 150 milliseconds i nui mo matou kia kore ai e taea e te tauira te hono me te whiwhi moni.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

He aha nga whiringa?

I te tuatahi i whakamahia e matou nga mokamoka tukurua. I whakaaro matou he pai. Ahakoa i te waahi tuatahi o te mahi i whakawetohia e matou nga waahi. Ko te ahua ki a maatau mena ka kohia e nga mokamoka te maha o nga waahanga WAL, ka taea e maatau te whakaheke i te rangatira. Ka hinga ia. I mamae matou mo etahi wa kaore he waahi. Na ka mohio matou e hiahia ana matou i nga waahi, i whakahokia e matou nga waahi.

Engari he raruraru kei konei, ka haere te rangatira ki te tauira, ka mukua e ia nga mokowhiti me te whakakore i nga wahanga WAL me nga waahi. A ki te whakakore i tenei raru, i whakatau matou ki te whakaara i te tawhā wal_keep_segments. Ka taunoa ki te 8 nga waahanga. I whakaarahia e matou ki te 1 me te titiro ki te nui o te waahi waatea. A i koha matou 000 gigabytes mo nga waahanga_wale_keep. Arā, i te wa e huri ana, he rahui 16 kikapaita o nga raarangi tauwhitinga i nga wa katoa.

Me te taapiri - he mea tika tonu mo nga mahi tiaki mo te wa roa. Me kii me whakahou tatou i tetahi o nga tauira. A e hiahia ana matou ki te whakaweto. Me whakahou i te rorohiko, pea te punaha whakahaere, tetahi atu mea. A, ka whakawetohia e tatou he tauira, ka tangohia ano te mokamoka mo taua tauira. A, ki te whakamahi tatou i nga waahanga wal_keep_segments iti, na me te roa o te ngaro o te tauira, ka ngaro nga raarangi hokohoko. Ka whakaarahia e matou he tauira, ka tono i nga raarangi hokohoko i te waahi ka mutu, engari kaore pea i runga i te rangatira. A ka kore e taea e te tauira te hono atu. No reira, ka pupuri matou i te maha o nga maheni.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Kei a matou he turanga whakaputa. He kaupapa kei te haere tonu.

I reira he kaipatu. I uru matou ki roto ka titiro - kua rite nga mea katoa, kua takoto nga tauira, kaore he rere o te tukurua. Karekau he hapa i roto i nga raarangi, kei te pai nga mea katoa.

E ai ki te roopu hua me whai raraunga, engari ka kitea mai i te puna kotahi, engari kaore e kitea i roto i te papaarangi. A me mohio tatou ki nga mea i pa ki a raatau.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

E marama ana kua ngaro a pg_rewind i a raatau. I mohio tonu matou ki tenei, engari i haere ki te kite he aha te mahi.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I roto i nga rakau, ka kitea tonu i te wa i puta ai te kaikoeke, ko wai te rangatira, a ka taea e tatou te whakatau ko wai te rangatira tawhito me te wa e hiahia ana ia ki te noho hei tauira, ara, me hiahia enei rakau ki te rapu i te nui o nga raarangi tauwhitinga. i ngaro.

Kua whakaara ano to tatou rangatira tawhito. Na kua rehitatia a Patroni ki te autorun. I whakarewahia a Patroni. Na ka timata ia ki te Postgres. He tika ake, i mua i te tiimata i te Postgres me i mua i te hanga tauira, i whakarewahia e Patroni te tukanga pg_rewind. Na reira, i whakakorea e ia tetahi waahanga o nga raarangi hokohoko, ka tango i nga mea hou ka hono atu. I konei i mahi mohio a Patroni, ara, i te tumanako. Kua whakahokia te tautau. E 3 nga pona i a matou, i muri i te konae e 3 nga pona - he pai nga mea katoa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Kua ngaro etahi raraunga. A me mohio tatou ki te nui o te ngaro. Kei te rapu matou mo te wa i hoki mai ai. Ka kitea e tatou i roto i aua tuhinga tuhipoka. I timata te rewind, i mahi i tetahi mea i reira ka mutu.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Me kimihia te tuunga i roto i te raarangi tauwhitinga i wehe atu ai te rangatira tawhito. I tenei take, koinei te tohu. A ka hiahia tatou ki te tohu tuarua, ara, te tawhiti e rereke ai te rangatira tawhito ki te mea hou.

Ka tangohia e matou te pg_wal_lsn_diff o mua ka whakataurite i enei tohu e rua. A i tenei keehi, ka whiwhi tatou i te 17 megabytes. He nui, he iti ranei, ma te katoa e whakatau ma ia ano. No te mea mo te tangata 17 megabytes ehara i te mea nui, mo tetahi he nui, kaore e whakaaetia. I konei, ka whakatauhia e ia tangata mo ia ano i runga i nga hiahia o te umanga.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Engari he aha ta tatou i mohio ai?

Tuatahi, me whakatau ma tatou ake - me timata tonu a Patroni i muri i te whakaara ano i te punaha? He maha nga wa me haere tatou ki te rangatira tawhito, tirohia te tawhiti o tana haerenga. Tena pea tirohia nga waahanga o te raarangi tauwhitinga, tirohia he aha kei reira. A ki te mohio mena ka ngaro enei raraunga ka hiahia ranei tatou ki te whakahaere i te rangatira tawhito i roto i te aratau tuuturu kia toia mai enei raraunga.

A muri noa iho me whakatau mehemea ka taea e tatou te whakakore i enei raraunga ka taea ranei e tatou te whakahoki mai, honoa tenei node hei tauira ki to tatou kahui.

I tua atu, he "maximum_lag_on_failover" tawhā. Ma te taunoa, ki te mahi taku mahara ki ahau, he 1 mekapaita te uara o tenei tawhā.

He pehea tana mahi? Mena kei muri to maatau tauira i te 1 megabyte o nga raraunga i roto i te taimuri tukurua, karekau tenei tauira e uru ki nga pooti. A, ki te ohorere ka puta he konae, ka titiro a Patroni ko nga tauira kei te heke ki muri. Mena kei muri ratou i te maha o nga raarangi tauwhitinga, kaore e taea e raatau te rangatira. He tino pai tenei ahuatanga haumaru e kore e ngaro te maha o nga raraunga.

Engari he raruraru kei te whakahouhia te taarua i roto i te roopu Patroni me te DCS i tetahi wa. Ki taku whakaaro ko te 30 hēkona te uara ttl taunoa.

No reira, tera pea he ahuatanga kei te kotahi te takamuri tukurua mo nga tauira i roto i te DCS, engari ko te tikanga tera pea he taarua tino rerekee, karekau pea he takamuri, ara, ehara tenei mea i te waa tuturu. A kaore i te whakaatu i nga wa katoa i te pikitia pono. A ehara i te mea pai ki te mahi i nga whakaaro arorau.

A ka noho tonu te mate o te mate. A i roto i te take kino rawa, kotahi tātai, a i roto i te take toharite, tetahi tātai. Arā, ka whakamahere tatou i te whakatinanatanga o Patroni me te arotake i te nui o nga raraunga ka ngaro, me whakawhirinaki tatou ki enei tauira me te whakaaro nui e hia nga raraunga ka ngaro.

A he rongo pai. Ina kua haere te rangatira tawhito, ka taea e ia te haere i mua na etahi o nga tikanga o muri. Arā, he momo autovacuum, ka tuhia e ia nga raraunga, ka tiakina ki te raarangi hokohoko. A ka taea e tatou te wareware me te ngaro i enei raraunga. Kaore he raruraru i roto i tenei.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na ka penei te ahua o nga raarangi mena kua tautuhia te maximum_lag_on_failover ka puta he kaikorero, me whiriwhiri koe i tetahi rangatira hou. Ka whakatauhia e te tauira karekau ia e whai waahi ki nga pooti. A kaore ia e pai ki te uru ki te whakataetae mo te rangatira. A ka tatari ia kia kowhiria he rangatira hou, kia taea ai e ia te hono atu. He inenga taapiri tenei mo te ngaronga raraunga.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I konei kei a matou he roopu hua nana i tuhi kei te raru a raatau hua ki a Postgres. I te wa ano, kaore e taea te uru atu ki te rangatira ake, na te mea kaore i te waatea ma te SSH. A kaore ano te konaeaunoa e puta.

I akiakihia tenei kaihautu ki te whakaara ano. Na te whakaara ano, ka puta he konae-aunoa, ahakoa ka taea te mahi i te konae-aunoa a-ringa, e mohio ana ahau inaianei. A i muri i te whakaara ano, kei te haere ke tatou ki te kite i nga mea i a tatou me te rangatira o naianei.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I te wa ano, i mohio matou i mua he raru to matou ki nga kopae, ara, kua mohio matou mai i te aro turuki i te waahi ki te keri me te aha hei rapu.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I uru matou ki roto i te raarangi poupou, ka tiimata ki te kite he aha nga mahi i reira. I kite matou i nga mahi e mau ana i reira mo te kotahi, e rua, e toru hekona, ehara i te mea noa. I kite matou he puhoi te tiimata o to maatau miihini aunoa me te rereke. Na ka kite matou i nga konae rangitahi i runga i te kōpae. Arā, he tohu katoa enei mo nga raru ki nga kōpae.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I titiro matou ki roto i te punaha dmesg (rakau kernel). Na ka kite matou he raruraru ki tetahi o nga kopae. Ko te punaha iti kopae ko Raid rorohiko. I titiro matou ki /proc/mdstat ka kite kei te ngaro tetahi puku. Arā, he Raid o 8 kōpae, kei te ngaro tetahi. Mena ka ata titiro koe ki te kiriata, katahi ka kite koe i te putanga karekau he sde kei reira. Ki a matou, ko te tikanga, kua taka te kōpae. Na tenei i pa mai nga raru o te kōpae, i raru ano nga tono i te wa e mahi ana me te roopu Postgres.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na i tenei keehi, kaore a Patroni e awhina i a maatau, na te mea kaore he mahi a Patroni ki te tirotiro i te ahua o te tūmau, te ahua o te kōpae. A me aroturuki tatou i enei ahuatanga ma te tirotiro o waho. Ka tere te taapiri i te aroturuki kōpae ki te aroturuki o waho.

Na tera ano te whakaaro - ka taea e te taiapa, te rorohiko kaitiaki ranei te awhina i a tatou? I whakaaro matou ka kore rawa ia e awhina i a matou i tenei keehi, na te mea i nga wa o nga raru ka haere tonu a Patroni ki te mahi tahi me te roopu DCS me te kore i kite i tetahi raru. Arā, mai i te tirohanga a DCS me Patroni, he pai nga mea katoa me te kohinga, ahakoa i roto i te meka he raruraru ki te kōpae, he raruraru kei te wātea o te papaarangi.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ki taku whakaaro, koinei tetahi o nga raru tino rerekee kua rangahaua e au mo te wa roa, kua panuitia e au te maha o nga raarangi, ka kohia ano, ka kiia ko te simulator cluster.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko te raruraru ko te kore e taea e te rangatira tawhito te huri hei tauira noa, ara, na Patroni i timata, i whakaatu a Patroni ko tenei node he tauira, engari i te wa ano ehara i te tauira noa. Inaianei ka kite koe he aha. Koia taku i pupuri mai i te wetewete o taua raruraru.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A i pehea i timata ai? I timata, pera i te raru o mua, me nga pakaru kōpae. I mahi matou mo te tuarua, e rua.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I pakaru nga hononga, ara, kua pakaru nga kaihoko.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

He rereke te kaha o te aukati.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na, i runga i tenei, kaore i te tino aro te punaha iti o te kōpae.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A ko te mea tino ngaro ki ahau ko te tono kati i tae mai. E toru nga momo kati a Postgres:

  • He rawe ki te tatari tatou kia momotu nga kiritaki katoa.
  • He tere ka pehia e matou nga kaihoko ki te momotu na te mea ka kati matou.
  • Na tonu. I roto i tenei take, karekau tonu e kii ki nga kaihoko kia tutakina, ka kati noa kaore he whakatupato. A, ki nga kiritaki katoa, kua tukuna e te punaha whakahaere he karere RST (he karere TCP kua haukotia te hononga, a, kaore he mea hei hopu i te kaihoko).

Na wai i tuku tenei tohu? Ko nga tukanga papamuri a Postgres kaore e tuku i nga tohu penei ki a raatau ano, ara ko te patu-9 tenei. Kaore ratou e tuku i nga mea penei ki a ratou ano, he mahi noa ratou ki nga mea penei, ara he whakaoho ohorere tenei a Postgres. Na wai i tuku, kaore au e mohio.

I titiro ahau ki te whakahau "whakamutunga" ka kite ahau i tetahi tangata i uru mai ano ki roto i tenei tūmau ki a matou, engari he tino whakama ahau ki te patai i tetahi patai. Tena pea ko te patu -9. Ka kite ahau i te patu -9 i roto i nga rakau, na te mea E ai ki a Postgres kua mate -9, engari kaore au i kite i roto i nga raarangi.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ma te titiro atu, ka kite au kaore a Patroni i tuhi ki te raarangi mo te wa roa - 54 hēkona. A, ki te whakatairitehia nga tohu wa e rua, karekau he karere mo te 54 hēkona.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A i roto i tenei wa he konae aunoa. He rawe te mahi a Patroni ki konei. Kaore i te waatea to maatau rangatira tawhito, kua pa tetahi mea ki a ia. Na ka timata te pooti mo tetahi rangatira hou. I pai nga mea katoa i konei. Ko ta matou pgsql01 te rangatira hou.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

He tauira ta matou kua riro hei rangatira. A he whakautu tuarua. A he raruraru ki te tauira tuarua. I ngana ia ki te whirihora ano. I taku mohio, ka ngana ia ki te huri i te recovery.conf, ka whakaara ano i a Postgres ka hono atu ki te rangatira hou. Ka tuhi ia i nga karere ia 10 hēkona e ngana ana ia, engari kaore ia i angitu.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A i roto i enei nganatanga, ka tae mai he tohu katinga tonu ki te rangatira tawhito. Kua timata ano te rangatira. Ka mutu hoki te whakaora na te mea ka uru te rangatira tawhito ki te whakaara ano. Arā, kaore e taea e te tauira te hono atu ki a ia, na te mea kei te aratau kati.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I etahi wa, i mahi, engari kaore i timata te tukurua.

Ko taku whakaaro anake he wahitau rangatira tawhito kei recovery.conf. A, ka puta mai he rangatira hou, ka ngana tonu te tauira tuarua ki te hono atu ki te rangatira tawhito.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I te tiimatanga o Patroni ki te tauira tuarua, ka tiimata te node engari kaore i taea te tarai. Na ka hanga he takamuri tukurua, he penei te ahua. Arā, i tū ngā kōpuku e toru, engari i takamuri te kōpuku tuarua ki muri.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I te wa ano, ki te titiro koe ki nga raarangi kua tuhia, ka kite koe kaore e taea te tukuruatanga na te mea he rereke nga raarangi tauwhitinga. A ko aua raarangi tauwhitinga e tukuna ana e te rangatira, kua tohua ki te recovery.conf, kaore i te uru ki to tatou node o naianei.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na konei i he ahau. Me haere mai au ki te kite he aha kei roto i te recovery.conf ki te whakamatau i taku whakapae kei te hono matou ki te rangatira he. Engari katahi ano ahau ka whakahaere i tenei, kare i puta mai ki ahau, ka kite ranei ahau kei te tomuri te tauira me te whakakii ano, ara, i mahi pohehe ahau. Ko taku hononga tenei.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I muri i nga meneti 30, kua tae mai te kaiwhakahaere, ara, ka whakaara ano ahau i a Patroni i runga i te tauira. Kua whakamutua e au, i whakaaro ahau me whakakii ano. A i whakaaro ahau - ka timata ano ahau i a Patroni, tera pea ka puta he pai. I timata te whakaora. Na ka whakatuwherahia te turanga, kua rite ki te whakaae ki nga hononga.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Kua timata te tukurua. Engari i te meneti i muri mai ka hinga ia me te hapa kaore e pai ana nga raarangi tauwhitinga mo ia.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I whakaaro ahau ka timata ano ahau. I whakaara ano ahau i a Patroni, a kaore au i whakaara ano i a Postgres, engari i timata ano a Patroni i runga i te tumanako ka tiimata te tiimata i te paataka raraunga.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I timata ano te tukurua, engari he rereke nga tohu i te raarangi tauwhitinga, kaore i rite ki te nganatanga o mua. Ka mutu ano te tukurua. Na kua paku rereke te korero. A kaore i tino korero mo au.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Na ka puta mai ki ahau - me pehea ka timata ano ahau i te Postgres, i tenei wa ka mahia e au he waahi tirotiro i runga i te rangatira o naianei ki te neke i te tohu i roto i te raarangi tauwhitinga he iti ki mua kia timata ai te whakaora mai i tetahi atu wa? I tua atu, kei a matou tonu nga taonga o te WAL.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

I timata ano ahau i a Patroni, i mahia e au etahi waahi tirotiro i runga i te rangatira, e rua nga tohu whakaara i runga i te tauira i te whakatuwheratanga. Na i awhina. I whakaaro ahau mo te wa roa he aha i awhina ai me pehea te mahi. Na ka timata te tauira. A kua kore te tukurua i haea.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ko tenei raru ki ahau ko tetahi o nga mea ngaro, kei te pohehe tonu ahau mo nga mea i tupu ki reira.

He aha nga tikanga i konei? Ka taea e Patroni te mahi i runga i te whakaaro me te kore he he. Engari i te wa ano, ehara tenei i te 100% taurangi kei te pai nga mea katoa ki a maatau. Ka timata pea te tauira, engari kei roto pea i te ahua ahua-mahi, a kaore e taea e te tono te mahi me taua tauira, na te mea ka puta he raraunga tawhito.

A, i muri i te kaipakihi, me tirotiro tonu koe kei te pai nga mea katoa me te tautau, ara, kei reira te maha o nga tauira e hiahiatia ana, kaore he taarua tukurua.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

A, i a tatou e haere ana i enei take, ka whakatakoto whakaaro ahau. I ngana ahau ki te whakakotahi kia rua nga kiriata. Tena pea, ka taea te whakakotahi i nga korero katoa kia rua nga kiriata ka korerotia anake.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Ka whakamahi koe i a Patroni, me whai aroturuki koe. Me mohio tonu koe i te wa i puta mai ai te konae-aunoa, na te mea kaore koe i te mohio kei a koe te konae-aunoa, kaore koe e whai mana ki te tautau. A he kino tena.

Whai muri i ia kaikohi, me tirotiro a-ringa i te tautau. Me whakarite kia mau tonu te maha o nga tauira hou, karekau he taarua tukurua, karekau he hapa i roto i nga raarangi e pa ana ki te tukurua rerenga, me Patroni, me te punaha DCS.

Ka taea e te miihini te mahi angitu, he taputapu tino pai a Patroni. Ka taea te mahi, engari kaore tenei e kawe i te tautau ki te ahua e hiahiatia ana. A, ki te kore tatou e mohio mo tena, ka raru tatou.

A ehara a Patroni i te matā hiriwa. Me mohio tonu tatou me pehea te mahi a Postgres, me pehea te mahi tukurua me te mahi a Patroni me Postgres, me pehea te tuku korero i waenga i nga pona. He mea tika tenei kia taea ai e koe te whakatika i nga raru ki o ringaringa.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Me pehea taku whakatata atu ki te take o te tātaritanga? Na te mea i mahi tahi matou me nga kaihoko rereke, kaore he tangata kei a ia he puranga ELK, a me whakariterite e matou nga raarangi ma te whakatuwhera i nga papatohu 6 me nga ripa e 2. I tetahi ripa, ko nga raarangi Patroni enei mo ia node, kei tetahi atu ripa, ko nga raarangi Consul enei, ko Postgres ranei mehemea e tika ana. He tino uaua ki te tirotiro i tenei.

He aha nga huarahi kua mahia e au? Tuatahi, ka titiro tonu ahau ina tae mai te kaipatu. A, ki ahau nei he rerenga wai tenei. Ka titiro ahau ki nga mea i tupu i mua i te kaipakihi, i te wa o te kaipakihi me muri i te kaipakihi. E rua nga tohu o te konae: koinei te wa timatanga me te wa mutunga.

I muri mai, ka titiro au ki roto i nga raarangi mo nga huihuinga i mua i te kaipakihi, i mua i te kaipakihi, ara, ka rapu ahau i nga take i puta ai te kaipakihi.

Na tenei ka homai he pikitia mo te mohio ki nga mea i tupu me nga mea ka taea te mahi a muri ake nei kia kore ai e puta nga ahuatanga penei (a ko te mutunga, karekau he kaipatu).

A ka titiro tatou ki hea? Ka titiro ahau:

  • Tuatahi, ki nga rakau Patroni.
  • I muri mai, ka titiro ahau ki nga rarangi Postgres, ki nga rakau DCS ranei, i runga i nga mea i kitea i roto i nga rakau Patroni.
  • A ko nga raarangi punaha i etahi wa ka maarama he aha te take o te kaipatu.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

He pehea taku whakaaro mo Patroni? He tino pai taku hononga ki a Patroni. Ki taku whakaaro, koinei te mea pai rawa atu i tenei ra. He maha atu nga hua e mohio ana ahau. Ko Stolon enei, Repmgr, Pg_auto_failover, PAF. 4 taputapu. I whakamatauria e ahau katoa. Ko Patroni taku tino pai.

Mena ka patai mai ratou ki ahau: "E taunaki ana ahau ki a Patroni?". Ka kii ahau ae, no te mea he pai ki a Patroni. A ki taku whakaaro i ako ahau ki te tunu kai.

Mena kei te pirangi koe ki te kite he aha etahi atu raru e pa ana ki a Patroni i tua atu i nga raru kua whakahuahia e au, ka taea e koe te tirotiro tonu i te whaarangi take i runga i GitHub. He maha nga korero rereke, he maha nga kaupapa whakahirahira e korerohia ana ki reira. A, ko te mutunga mai, i whakaurua etahi pepeha ka whakatauhia, ara, he panui pai tenei.

He korero whakamere mo nga tangata e pupuhi ana i a ratou ano ki te waewae. He tino korero. Ka panui koe me te mohio kaore e tika ana kia pera. I tohu ahau i ahau ano.

A ka nui taku mihi ki a Zalando mo te whakawhanake i tenei kaupapa, ara ki a Alexander Kukushkin me Alexey Klyukin. Ko Aleksey Klyukin tetahi o nga kaituhi, kua kore ia e mahi i Zalando, engari ko enei nga tangata tokorua i timata ki te mahi me tenei hua.

A ki taku whakaaro he mea tino pai a Patroni. Kei te koa ahau kei te noho ia, he mea whakamere ki a ia. Me te mihi nui ki nga kaitakoha katoa e tuhi papaki ana ki a Patroni. Ko taku tumanako ka pakeke ake a Patroni, he hauhautanga me te whai hua i runga i te pakeketanga. Kua mahi kē, engari ko taku tumanako ka pai ake. Na, ki te whakamahere koe ki te whakamahi i te Patroni, kaua e wehi. He otinga pai tenei, ka taea te whakatinana me te whakamahi.

Heoi ano. Mena he patai taau, patai.

Nga Korero Rahunga Patroni, Me pehea ranei te pakaru i to kohinga PostgreSQL. Alexey Lesovsky

Au uiui

Nga mihi mo te ripoata! Mēnā i muri i te kaipakihi me ata titiro tonu koe ki reira, he aha te take e hiahia ai matou ki te kaipakihi aunoa?

Na te mea he mea hou. Kua kotahi tau noa maua ki a ia. He pai ake te noho haumaru. Kei te pirangi matou ki te kuhu mai kia kite i te pai o nga mea katoa. Koinei te taumata o te whakaponokore o nga pakeke - he pai ake te tirotiro rua me te kite.

Hei tauira, i haere matou i te ata ka titiro, tika?

Kaore i te ata, ka ako tonu matou mo te konaeaunoa tata tonu. Ka whiwhi whakamohiotanga, ka kite matou kua puta he konaeaunoa. Tata tonu ka haere matou ki te titiro. Engari ko enei arowhai katoa me kawe ki te taumata aroturuki. Mena ka uru koe ki a Patroni ma te REST API, he hitori. Ma te hitori ka kite koe i nga tohu waahi i te wa i puta ai te kaipatu. I runga i tenei, ka taea te aroturuki. Ka kite koe i te hitori, e hia nga huihuinga i reira. Mena he maha atu nga huihuinga, kua puta he konaeaunoa. Ka taea e koe te haere kia kite. I tirohia ranei e to maatau miihini tirotiro kei a maatau nga tauira katoa, kaore he taima, he pai nga mea katoa.

Mauruuru!

Nga mihi nui mo te korero nui! Mena ka nekehia e matou te roopu DCS ki tawhiti atu i te roopu Postgres, me mahi ano tenei roopu i ia wa? He aha nga mahi pai e tika ana kia whakawetohia etahi wahanga o te kahui DCS, he mahi ki a raatau, aha atu? Me pehea e ora ai tenei hanganga katoa? A me pehea koe e mahi ai i enei mea?

Mo tetahi kamupene, he mea tika ki te hanga i te matrix o nga raru, ka aha mena ka taka tetahi o nga waahanga, etahi waahanga ranei. E ai ki tenei matrix, ka haere maatau i nga waahanga katoa me te hanga i nga ahuatanga mo te kore o enei waahanga. No reira, mo ia ahuatanga rahunga, ka taea e koe he mahere mahi mo te whakaora. A, mo te DCS, ka tae mai hei waahanga o te hanganga paerewa. Na te kaiwhakahaere e whakahaere, a kua whakawhirinaki matou ki nga kaiwhakahaere e whakahaere ana me o raatau kaha ki te whakatika mena he aitua. Mena karekau he DCS, ka tohatohahia e matou, engari i te wa ano kaore matou e tino aro turuki, na te mea kaore matou i te kawenga mo te hanganga, engari ka tukuna e matou nga tohutohu me pehea te aroturuki.

Arā, i mohio tika ahau me whakakorehia e ahau a Patroni, whakakorehia te kaipatu, whakakore i nga mea katoa i mua i te mahi i tetahi mea me nga kaihautu?

Ka whakawhirinaki ki te maha o nga pona kei roto i te roopu DCS. Mēnā he maha ngā kōpuku, ā, ki te monohia e mātou tētahi anake o ngā kōpuku (te tauira), ka mau tonu te kāhui i tētahi kōrama. A kei te mahi tonu a Patroni. A kaore he mea e pa ana. Mena kei a tatou etahi mahi uaua e pa ana ki etahi atu pona, na te kore o enei mahi ka pakaru te koorama, katahi - ae, he mea tika kia whakataa a Patroni. He whakahau e rite ana - patronictl pause, patronictl resume. Ka okioki noa matou, karekau e mahi te hiri-aunoa i tera wa. Ka mahia e matou te tiaki i te kohinga DCS, katahi ka tango i te okiokinga ka noho tonu.

Mauruuru nui koe!

Ka nui te mihi ki a koe mo to ripoata! He pehea te ahua o te roopu hua mo te ngaro o nga raraunga?

Kare nga roopu hua e aro, kei te awangawanga nga kaiarahi o te roopu.

He aha nga taurangi kei reira?

He tino uaua nga taurangi. He ripoata a Alexander Kukushkin "Me pehea te tatau i te RPO me te RTO", ara ko te wa whakaora me te nui o nga raraunga ka ngaro. Ki taku whakaaro me kimihia enei kiriata me te ako. Ki taku mahara, he huarahi motuhake mo te tatau i enei mea. E hia nga whakawhitinga ka taea e tatou te ngaro, te nui o nga raraunga ka ngaro. Hei whiringa, ka taea e taatau te whakamahi tukurite i te taumata Patroni, engari he hoari matarua tenei: kei a maatau te pono o nga raraunga, ka ngaro ranei te tere. He tukurua tukutahi, engari kaore ano kia 100% te whakamarumaru ki te ngaronga raraunga.

Alexey, whakawhetai mo te purongo nui! He wheako ki te whakamahi i te Patroni mo te tiaki taumata kore? Arā, i te taha o te tūtatari tukutahi? Ko te patai tuatahi tenei. A ko te patai tuarua. Kua whakamahia e koe etahi otinga rereke. I whakamahia e matou a Repmgr, engari kaore he autofiler, a inaianei kei te whakamahere matou ki te whakauru i te autofiler. A ka whakaarohia e matou ko Patroni tetahi otinga rereke. He aha te mea ka taea e koe te kii hei painga ki te Repmgr?

Ko te patai tuatahi mo nga tauira tukutahi. Karekau he tangata e whakamahi ana i te tukurua tukutahi i konei, na te mea e mataku ana te katoa (He maha nga kaihoko kei te whakamahi i a raatau, ma te tikanga, kaore ratou i kite i nga raru mahi - Te korero a te kaikorero). Engari kua whakaritea e matou he ture ma matou ake kia toru neke atu nga pona kei roto i te kapopu tukurua tukutahi, na te mea mena e rua o matou pona a ki te rahua te ariki, te tauira ranei, ka huri a Patroni i tenei pona ki te aratau Tuturu kia haere tonu te tono. mahi. I tenei keehi, he tupono ka ngaro nga raraunga.

Mo te patai tuarua, kua whakamahia e matou a Repmgr me te mahi tonu ki etahi o nga kaihoko mo nga take o mua. He aha te korero? Ka haere mai a Patroni me te kaikorero aunoa i waho o te pouaka, ka haere mai a Repmgr me te autofiler hei waahanga taapiri e tika ana kia taea. Me whakahaere tatou i te Repmgr daemon ki ia node katahi ka taea e tatou te whirihora i te autofiler.

Ka tirohia e Repmgr mena kei te ora nga pona Postgres. Ko nga tukanga Repmgr te tirotiro mo te noho o tetahi ki tetahi, ehara tenei i te huarahi tino pai. tera pea he take uaua o te wehenga whatunga ka taea e tetahi kahui Repmgr nui te wehe ki etahi mea iti ka mahi tonu. Kare au e whai ana i a Repmgr mo te wa roa, tera pea kua whakatika ... kaore ranei. Engari ko te tango i nga korero mo te ahua o te roopu i DCS, pera i a Stolon, Patroni, ko te waahanga tino pai.

Alexey, he patai taku, tera pea he patai. I tetahi o nga tauira tuatahi, i nekehia e koe te DCS mai i te miihini o te rohe ki tetahi kaihautu mamao. Kei te mohio matou ko te whatunga he mea kei a ia ano ona ahuatanga, kei te noho tonu. A ka aha mena ka kore e waatea te roopu DCS? E kore ahau e kii i nga take, he maha pea: mai i nga ringa kopikopiko o te hunga whatunga ki nga tino raruraru.

Kare au i kaha ki te korero, engari ko te kahui DCS me hee ano, ara, he tau kerekere o nga node, kia tutuki ai tetahi koorama. Ka aha mena ka kore e waatea te roopu DCS, karekau ranei e tutuki he koorama, ara, he momo wehenga whatunga, he rahunga node ranei? I tenei keehi, ka uru te roopu Patroni ki te aratau panui anake. Kaore e taea e te roopu Patroni te whakatau i te ahua o te roopu me te aha. Kaore e taea te whakapā atu ki te DCS me te penapena i te ahua o te roopu hou ki reira, no reira ka uru te huinga katoa ki te panui anake. Ka tatari mo te wawaotanga a-ringa mai i te kaiwhakahaere, kia ora mai ranei a DCS.

Ko te korero, ka noho te DCS hei ratonga mo tatou he mea nui ano ki te turanga ake?

Ae Ae. I roto i te maha o nga kamupene hou, ko te Ratonga Discovery tetahi waahanga nui o te hanganga. Kei te whakatinanahia ahakoa i mua i te waahi o te papaaarangi i roto i nga hanganga. Ko te tikanga, i whakarewahia te hanganga, i tukuna ki roto i te DC, a kei a matou tonu te Whakaaturanga Ratonga. Mena he Consul, ka taea te hanga DNS ki runga. Mena ko Etcd tenei, tera pea he waahanga mai i te roopu Kubernetes, ka tukuna nga mea katoa. Ki taku whakaaro ko te Ratonga Discovery tetahi waahanga nui o nga hanganga hou. A ka whakaarohia e ratou mo mua ake i nga korero mo nga papaunga raraunga.

Mauruuru!

Source: will.com

Tāpiri i te kōrero