ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π“Π»Π°Π²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π½Π° Patroni Π΅ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ висока достапност Π·Π° PostgreSQL. Но, ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π΅ само шаблон, Π° Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Π° Π°Π»Π°Ρ‚ΠΊΠ° (ΡˆΡ‚ΠΎ, Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ, Π΅ ΠΊΠ°ΠΆΠ°Π½ΠΎ Π²ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°). На ΠΏΡ€Π² ΠΏΠΎΠ³Π»Π΅Π΄, ΠΎΡ‚ΠΊΠ°ΠΊΠΎ Π³ΠΎ поставивмС Patroni Π²ΠΎ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²Π° ΠΎΠ΄Π»ΠΈΡ‡Π½Π° Π°Π»Π°Ρ‚ΠΊΠ° Π΅ Ρ‚ΠΎΠ° ΠΈ ΠΊΠΎΠ»ΠΊΡƒ лСсно сС справува со Π½Π°ΡˆΠΈΡ‚Π΅ ΠΎΠ±ΠΈΠ΄ΠΈ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π±ΠΈΠ΅ΠΌΠ΅ кластСрот. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π²ΠΎ пракса, Π²ΠΎ производствСна срСдина, сè Π½Π΅ сС случува сСкогаш Ρ‚ΠΎΠ»ΠΊΡƒ ΡƒΠ±Π°Π²ΠΎ ΠΈ Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΎ ΠΊΠ°ΠΊΠΎ Π²ΠΎ тСст Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡ˜Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ЌС Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΌΠ°Π»ΠΊΡƒ Π·Π° сСбС. ΠŸΠΎΡ‡Π½Π°Π² ΠΊΠ°ΠΊΠΎ систСмски администратор. Π Π°Π±ΠΎΡ‚Π΅Π» Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π²Π΅Π±. Π Π°Π±ΠΎΡ‚Π°ΠΌ Π²ΠΎ Data Egret ΠΎΠ΄ 2014 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Π°Ρ‚Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π° со консалтинг Π²ΠΎ областа Π½Π° Postgres. И Π½ΠΈΠ΅ опслуТувамС Ρ‚ΠΎΠΊΠΌΡƒ Postgres, ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ со Postgres сСкој Π΄Π΅Π½, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° СкспСртиза ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° со ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°.

И Π½Π° ΠΊΡ€Π°Ρ˜ΠΎΡ‚ Π½Π° 2018 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΠΎΡ‡Π½Π°Π²ΠΌΠ΅ ΠΏΠΎΠ»Π΅ΠΊΠ° Π΄Π° Π³ΠΎ користимС Patroni. И Π°ΠΊΡƒΠΌΡƒΠ»ΠΈΡ€Π°Π½ΠΎ Π΅ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΎ искуство. НСкако Π³ΠΎ Π΄ΠΈΡ˜Π°Π³Π½ΠΎΡΡ‚ΠΈΡ†ΠΈΡ€Π°Π²ΠΌΠ΅, Π³ΠΎ ΡˆΡ‚ΠΈΠΌΠ°Π²ΠΌΠ΅, дојдовмС Π΄ΠΎ Π½Π°ΡˆΠΈΡ‚Π΅ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. И Π²ΠΎ овој ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° Π½ΠΈΠ².

ОсвСн Postgres, Π³ΠΎ сакам Linux. Π‘Π°ΠΊΠ°ΠΌ Π΄Π° Ρ•ΠΈΡ€ΠΊΠ°ΠΌ Π²ΠΎ Π½Π΅Π³ΠΎ ΠΈ Π΄Π° истраТувам, сакам Π΄Π° собирам Ρ˜Π°Π΄Ρ€Π°. Π‘Π°ΠΊΠ°ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ, Π΄ΠΎΠΊΠ΅Ρ€, ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚. Π‘Π΅Ρ‚ΠΎ ΠΎΠ²Π° ΠΌΠ΅ интСрСсира, бидСјќи старитС администраторски Π½Π°Π²ΠΈΠΊΠΈ Π²Π»ΠΈΡ˜Π°Π°Ρ‚. Π‘Π°ΠΊΠ°ΠΌ Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ со ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. И јас сакам постгрСс Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π°, Ρ‚.Π΅. Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, Ρ€Π΅Π·Π΅Ρ€Π²Π½Π° копија. И Π²ΠΎ слободно Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ Π²ΠΎ Π“ΠΎ. Јас Π½Π΅ сум софтвСрски ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€, само ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ Π·Π° сСбС Π²ΠΎ Go. И Ρ‚ΠΎΠ° ΠΌΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΡƒΠ²Π° задоволство.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

  • Мислам Π΄Π΅ΠΊΠ° ΠΌΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π° ΠΎΠ΄ вас Π·Π½Π°Π°Ρ‚ Π΄Π΅ΠΊΠ° Postgres Π½Π΅ΠΌΠ° HA (висока достапност) Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π°. Π—Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ HA, Ρ‚Ρ€Π΅Π±Π° Π΄Π° инсталиратС Π½Π΅ΡˆΡ‚ΠΎ, Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅, Π΄Π° сС ΠΏΠΎΡ‚Ρ€ΡƒΠ΄ΠΈΡ‚Π΅ ΠΈ Π΄Π° Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅.
  • Има Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π°Π»Π°Ρ‚ΠΊΠΈ ΠΈ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ Π½ΠΈΠ² ΡˆΡ‚ΠΎ ја Ρ€Π΅ΡˆΠ°Π²Π° HA ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ ΠΊΡƒΠ» ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€ΠΎ. Но, со ΡΡ‚Π°Π²Π°ΡšΠ΅ Π½Π° сСто Ρ‚ΠΎΠ° Π²ΠΎ тСст Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡ˜Π° ΠΈ водСњС, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° сСто Ρ‚ΠΎΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΡ†ΠΈΡ€Π°ΠΌΠ΅ Π½Π΅ΠΊΠΎΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΈΠΌ слуТи. И ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° сСто Ρ‚ΠΎΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΎ.
  • Но, Π²ΠΎ пракса, сС соочивмС со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. И јас ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.
  • ЌС Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ Π³ΠΎ Π΄ΠΈΡ˜Π°Π³Π½ΠΎΡΡ‚ΠΈΡ†ΠΈΡ€Π°Π²ΠΌΠ΅, ΡˆΡ‚ΠΎ смСнивмС - Π΄Π°Π»ΠΈ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΈΠ»ΠΈ Π½Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

  • НСма Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ инсталиратС Patroni, бидСјќи ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΡƒΠ³Π»Π°Ρ‚Π΅ Π½Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° сè, ΠΊΠ°ΠΊΠΎ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΡˆΠ΅ΠΌΠΈΡ‚Π΅, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈΡ‚Π΅, Π΄Π° Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Ρ‚ΠΎΠ° Π½Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.
  • НСма Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° Ρ‚ΡƒΡ“ΠΎ искуство. ЌС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ само Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ со ΠΊΠΎΠΈ сС соочивмС.
  • И Π½Π΅ΠΌΠ° Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠΎΠΈ сС Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ Patroni ΠΈ PostgreSQL. Ако, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ³Π° Π½Π°ΡˆΠΈΠΎΡ‚ кластСр сС распаднал, Π½Π΅ΠΌΠ° Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° Ρ‚ΠΎΠ°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΌΠ°Π»ΠΎ ΠΎΠ³Ρ€Π°Π΄ΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€Π΅Π΄ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ со Π½Π°ΡˆΠΈΠΎΡ‚ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜.

Π‘ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со ΠΊΠΎΠΈ Π½Π°ΠΈΠ΄ΠΎΠ²ΠΌΠ΅, Π³ΠΈ ΠΈΠΌΠ°Π²ΠΌΠ΅ Π²ΠΎ ΠΏΡ€Π²ΠΈΡ‚Π΅ 6-7-8 мСсСци ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ. Π‘ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, дојдовмС Π΄ΠΎ Π½Π°ΡˆΠΈΡ‚Π΅ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. И Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ исчСзнаа. Π—Π°Ρ‚ΠΎΠ°, ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ΠΎΡ‚ бСшС објавСн ΠΏΡ€Π΅Π΄ ΠΎΠΊΠΎΠ»Ρƒ ΡˆΠ΅ΡΡ‚ мСсСци, ΠΊΠΎΠ³Π° сСто Ρ‚ΠΎΠ° ΠΌΠΈ бСшС свСТо Π²ΠΎ Π³Π»Π°Π²Π°Ρ‚Π° ΠΈ ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎ сС сСќавав Π½Π° сСто Ρ‚ΠΎΠ°.

Π’ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ΠΎΡ‚, јас вСќС ΠΏΠΎΠ΄ΠΈΠ³Π½Π°Π² стари посмртници, Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Π² Ρ‚Ρ€ΡƒΠΏΡ†ΠΈΡ‚Π΅. И Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ Π΄Π΅Ρ‚Π°Π»ΠΈΡ‚Π΅ Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ Π΄Π° сС Π·Π°Π±ΠΎΡ€Π°Π²Π°Ρ‚, ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ Π½Π΅ Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ цСлосно Π΄Π° сС истраТат ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΏΠ° Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° Π΄Π΅ΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π½Π΅ сС цСлосно Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ° нСдостиг ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. И Π·Π°Ρ‚ΠΎΠ° Π²Π΅ Π·Π°ΠΌΠΎΠ»ΡƒΠ²Π°ΠΌ Π΄Π° ΠΌΠ΅ ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° овој ΠΌΠΎΠΌΠ΅Π½Ρ‚.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π¨Ρ‚ΠΎ Π΅ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ?

  • Ова Π΅ шаблон Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ HA. Π’Π°ΠΊΠ° ΠΏΠΈΡˆΡƒΠ²Π° Π²ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°. И ΠΎΠ΄ моја Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΏΠΎΡ˜Π°ΡΠ½ΡƒΠ²Π°ΡšΠ΅. ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π½Π΅ Π΅ срСбрСн ΠΊΡƒΡ€ΡˆΡƒΠΌ ΡˆΡ‚ΠΎ ќС Π²ΠΈ Π³ΠΈ Ρ€Π΅ΡˆΠΈ ситС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, односно Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΠΎΡ‚Ρ€ΡƒΠ΄ΠΈΡ‚Π΅ Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΈ Π΄Π° донСсС корист.
  • Ова Π΅ сСрвис Π·Π° Π°Π³Π΅Π½Ρ‚ кој Π΅ инсталиран Π½Π° сСкоја Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π΅ Π΅Π΄Π΅Π½ Π²ΠΈΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»Π΅Π½ систСм Π·Π° Π²Π°ΡˆΠΈΠΎΡ‚ Postgres. Π“ΠΎ стартува Postgres, Π·Π°ΠΏΠΈΡ€Π°, рСстартира, Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° ΠΈ ја ΠΌΠ΅Π½ΡƒΠ²Π° Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ кластСр.
  • Π‘ΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΎ Π½Π° Ρ‚ΠΎΠ°, Π·Π° Π΄Π° сС Π·Π°Ρ‡ΡƒΠ²Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кластСрот, Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π° прСтстава, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ Π΅ нСкој Π²ΠΈΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅. И ΠΎΠ΄ ΠΎΠ²Π°Π° Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°, ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Ρ‚Ρ€Π³Π½Π° ΠΏΠΎ ΠΏΠ°Ρ‚ΠΎΡ‚ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄Ρ€ΠΆΠ°Π²Π°Ρ‚Π° Π²ΠΎ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ΅Π½ систСм. Π’ΠΎΠ° Π΅ систСм Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° дистрибуирана ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. МоТС Π΄Π° Π±ΠΈΠ΄Π΅ Etcd, Consul, ZooKeeper ΠΈΠ»ΠΈ kubernetes Etcd, Ρ‚.Π΅. Π΅Π΄Π½Π° ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ.
  • А Π΅Π΄Π½Π° ΠΎΠ΄ карактСристикитС Π½Π° Patroni Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π³ΠΎ Π²Π°Π΄ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»Π΅Ρ€ΠΎΡ‚ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π°, само со Π½Π΅Π³ΠΎΠ²ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅. Ако Π³ΠΎ Π·Π΅ΠΌΠ΅ΠΌΠ΅ Repmgr Π·Π° спорСдба, Ρ‚ΠΎΠ³Π°Ρˆ Ρ„Π°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ Ρ‚Π°ΠΌΡƒ. Π‘ΠΎ Repmgr Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅, Π½ΠΎ Π°ΠΊΠΎ сакамС Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»Π΅Ρ€, Ρ‚ΠΎΠ³Π°Ρˆ Ρ‚Ρ€Π΅Π±Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅. ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ вСќС ΠΈΠΌΠ° автоматско ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π°.
  • И ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈΡΡ‚ΡƒΡ€Π°ΡšΠ΅ Π½ΠΎΠ²ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Ρ€Π΅Π·Π΅Ρ€Π²Π½Π° копија ΠΈΡ‚Π½. Но, ΠΎΠ²Π° Π΅ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ опсСгот Π½Π° ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ΠΎΡ‚, Π½Π΅ΠΌΠ° Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° Ρ‚ΠΎΠ°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΌΠ°Π» Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π³Π»Π°Π²Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π½Π° Patroni Π΅ Π΄ΠΎΠ±Ρ€ΠΎ ΠΈ сигурно Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Π°Π²Ρ‚ΠΎ-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° Π½Π°ΡˆΠΈΠΎΡ‚ кластСр Π΄Π° останС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΄Π° Π½Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΡƒΠ²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°Ρ‚Π° Π½Π° кластСрот.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Но, ΠΊΠΎΠ³Π° ќС ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ Π΄Π° Π³ΠΎ користимС Patroni, Π½Π°ΡˆΠΈΠΎΡ‚ систСм станува ΠΌΠ°Π»ΠΊΡƒ ΠΏΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ†ΠΈΡ€Π°Π½. Ако ΠΏΠΎΡ€Π°Π½ΠΎ ΠΈΠΌΠ°Π²ΠΌΠ΅ Postgres, Ρ‚ΠΎΠ³Π°Ρˆ ΠΊΠΎΠ³Π° користимС Patroni Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ самиот Patroni, Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ DCS ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π°. И сСто Ρ‚ΠΎΠ° ΠΌΠΎΡ€Π° Π½Π΅ΠΊΠ°ΠΊΠΎ Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°. Π—Π½Π°Ρ‡ΠΈ, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ‚Ρ€Π³Π½Π΅ Π½Π°ΠΎΠΏΠ°ΠΊΡƒ?

МоТС Π΄Π° сС ΡΠΊΡ€ΡˆΠΈ:

  • ΠŸΠΎΡΡ‚Π³Ρ€Π΅ΡΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠΊΡ€ΡˆΠΈ. МоТС Π΄Π° Π±ΠΈΠ΄Π΅ ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ² ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠΏΠ°Π΄Π½Π΅.
  • Π‘Π°ΠΌΠΈΠΎΡ‚ ΠΏΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠΊΡ€ΡˆΠΈ.
  • DCS ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠΊΡ€ΡˆΠΈ.
  • И ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠΊΡ€ΡˆΠΈ.

Π‘ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ќС Π³ΠΈ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌ Π²ΠΎ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ΠΎΡ‚.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π‘Π»ΡƒΡ‡Π°ΠΈΡ‚Π΅ ќС Π³ΠΈ Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π°ΠΌ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ стануваат послоТСни, Π° Π½Π΅ ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π΄Π΅ΠΊΠ° ΡΠ»ΡƒΡ‡Π°Ρ˜ΠΎΡ‚ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. И ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΡΡƒΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ чувства, Π΄Π΅ΠΊΠ° овој ΡΠ»ΡƒΡ‡Π°Ρ˜ ΠΌΠΈ бСшС Ρ‚Π΅ΠΆΠΎΠΊ, бСшС Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° Π³ΠΎ расклопам ... ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, нСкој ΡΠ»ΡƒΡ‡Π°Ρ˜ бСшС лСсСн ΠΈ лСсно бСшС Π΄Π° сС расклопи.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

А ΠΏΡ€Π²ΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π΅ Π½Π°Ρ˜Π»Π΅ΡΠ½ΠΈΠΎΡ‚. Ова Π΅ ΡΠ»ΡƒΡ‡Π°Ρ˜ ΠΊΠΎΠ³Π° Π·Π΅ΠΌΠ°Π²ΠΌΠ΅ кластСр Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π³ΠΎ распорСдивмС Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ DCS Π½Π° истиот кластСр. Ова Π΅ Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚Π°Ρ‚Π° Π³Ρ€Π΅ΡˆΠΊΠ°. Ова Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° Π²ΠΎ Π³Ρ€Π°Π΄Π΅ΡšΠ΅Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, Ρ‚.Π΅. ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Π΅Π΄Π½ΠΎ мСсто.

Π—Π½Π°Ρ‡ΠΈ, имашС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ајдС Π΄Π° сС справимС со Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ сС случи.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΎΠ²Π΄Π΅ Π½Γ¨ интСрСсира ΠΊΠΎΠ³Π° сС случил Ρ„ΠΈΠ»Π΅Ρ€ΠΎΡ‚. Односно, Π½ΠΈΠ΅ смС заинтСрСсирани Π·Π° овој ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΊΠΎΠ³Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кластСрот.

Но, Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π΅ Π΅ сСкогаш ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°, Ρ‚.Π΅. Π½Π΅ ΠΎΠ΄Π·Π΅ΠΌΠ° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π²Ρ€Π΅ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠ΄Π»ΠΎΠΆΠΈ. МоТС Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ»Π³ΠΎΡ‚Ρ€Π°Π΅Π½.

Π—Π°Ρ‚ΠΎΠ°, ΠΈΠΌΠ° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ ΠΈ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅, односно Π΅ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ настан. И Π½ΠΈΠ΅ Π³ΠΈ Π΄Π΅Π»ΠΈΠΌΠ΅ ситС настани Π²ΠΎ Ρ‚Ρ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ: ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΈ ΠΏΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. Односно, Π³ΠΈ Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅ ситС настани Π²ΠΎ ΠΎΠ²Π°Π° врСмСнска Ρ€Π°ΠΌΠΊΠ°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΏΡ€Π²ΠΎΡ‚ΠΎ Π½Π΅ΡˆΡ‚ΠΎ, ΠΊΠΎΠ³Π° сС случил Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ја Π±Π°Ρ€Π°ΠΌΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π·Π° Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ сС случило, која Π±ΠΈΠ»Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π·Π° ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π΄ΠΎΠ²Π΅Π»ΠΎ Π΄ΠΎ ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΎΡ‚.

Ако Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Ρ‚Ρ€ΡƒΠΏΡ†ΠΈΡ‚Π΅, Ρ‚ΠΈΠ΅ ќС Π±ΠΈΠ΄Π°Ρ‚ класични Ρ‚Ρ€ΡƒΠΏΡ†ΠΈ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ. Вој Π½ΠΈ ΠΊΠ°ΠΆΡƒΠ²Π° Π²ΠΎ Π½ΠΈΠ² Π΄Π΅ΠΊΠ° сСрвСрот станал господар, Π° ΡƒΠ»ΠΎΠ³Π°Ρ‚Π° Π½Π° господарот ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»Π° Π½Π° овој јазол. Π’ΡƒΠΊΠ° Π΅ истакнато.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π‘Π»Π΅Π΄Π½ΠΎ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ Π·ΠΎΡˆΡ‚ΠΎ сС случи Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, Ρ‚.Π΅. ΠΊΠ°ΠΊΠ²ΠΈ настани сС ΡΠ»ΡƒΡ‡ΠΈΡ˜Π° ΡˆΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° ΡƒΠ»ΠΎΠ³Π° Π΄Π° сС прСсСли ΠΎΠ΄ Π΅Π΄Π΅Π½ јазол Π²ΠΎ Π΄Ρ€ΡƒΠ³. И Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, сè Π΅ Сдноставно. ИмамС Π³Ρ€Π΅ΡˆΠΊΠ° Π²ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со систСмот Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅. ΠœΠ°Ρ˜ΡΡ‚ΠΎΡ€ΠΎΡ‚ сфатил Π΄Π΅ΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со DCS, односно ΠΈΠΌΠ° Π½Π΅ΠΊΠ°ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ со ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°. И Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° повСќС Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ ΠΈ Π΄Π°Π²Π° оставка. Овој Ρ€Π΅Π΄ β€žΠ΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€Π°Π½ ΡΠ΅Π±Π΅β€œ Π³ΠΎ ΠΊΠ°ΠΆΡƒΠ²Π° Ρ‚ΠΎΠΊΠΌΡƒ Ρ‚ΠΎΠ°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Ако Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ настанитС ΡˆΡ‚ΠΎ ΠΌΡƒ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π΅Π° Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, Ρ‚Π°ΠΌΡƒ ќС Π³ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠ΅ Ρ‚ΠΎΠΊΠΌΡƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π±Π΅Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π²ΠΎΠ»ΡˆΠ΅Π±Π½ΠΈΠΊΠΎΡ‚.

Ако Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Patroni Π»ΠΎΠ³ΠΎΠ²ΠΈΡ‚Π΅, ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ Π³Ρ€Π΅ΡˆΠΊΠΈ, Ρ‚Π°Ρ˜ΠΌΠ°ΡƒΡ‚ΠΈ, односно Π°Π³Π΅Π½Ρ‚ΠΎΡ‚ Patroni Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со DCS. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΎΠ²Π° Π΅ Π°Π³Π΅Π½Ρ‚ Π½Π° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚, кој ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° Π½Π° ΠΏΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ 8500.

И ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ ΠΎΠ²Π΄Π΅ Π΅ ΡˆΡ‚ΠΎ Patroni ΠΈ Π±Π°Π·Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° истиот хост. И сСрвСритС ΠΊΠΎΠ½Π·ΡƒΠ» Π±Π΅Π° лансирани Π½Π° истиот јазол. Π‘ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° сСрвСрот, Π½Π°ΠΏΡ€Π°Π²ΠΈΠ²ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π·Π° сСрвСритС Π½Π° ΠšΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚. Π’ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Π° Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

По Π½Π΅ΠΊΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅, ΠΊΠΎΠ³Π° Ρ‚ΠΎΠ²Π°Ρ€ΠΎΡ‚ сС смири, Π½Π°ΡˆΠΈΠΎΡ‚ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ моТСшС Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со Π°Π³Π΅Π½Ρ‚ΠΈΡ‚Π΅. Нормалната Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ. И истиот Pgdb-2 сСрвСр ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ стана господар. Π’ΠΎΠ° Π΅, имашС ΠΌΠ°Π» ΠΏΡ€Π΅Π²Ρ€Ρ‚, ΠΏΠΎΡ€Π°Π΄ΠΈ ΡˆΡ‚ΠΎ Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ Π³ΠΈ отстапи ΠΎΠ²Π»Π°ΡΡ‚ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π½Π° господарот, Π° ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΈ ΠΏΡ€Π΅Π·Π΅Π΄Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, односно сè сС Π²Ρ€Π°Ρ‚ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ бСшС.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС смСта Π·Π° Π»Π°ΠΆΠ½Π° Ρ‚Ρ€Π΅Π²ΠΎΠ³Π°, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС смСта Π΄Π΅ΠΊΠ° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ» сè ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π°. Односно, сфатил Π΄Π΅ΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΎΠ΄Ρ€ΠΆΠΈ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кластСрот ΠΈ Π³ΠΎ отстранил Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚.

И Ρ‚ΡƒΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ настана ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ сСрвСритС Π½Π° Consul сС Π½Π° истиот Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ ΠΊΠ°ΠΊΠΎ ΠΈ Π±Π°Π·ΠΈΡ‚Π΅. Π‘ΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΎ Π½Π° Ρ‚ΠΎΠ°, сСкоС ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅: Π±Π΅Π· Ρ€Π°Π·Π»ΠΈΠΊΠ° Π΄Π°Π»ΠΈ Π΅ ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° дискови ΠΈΠ»ΠΈ процСсори, Ρ‚ΠΎΠ° исто Ρ‚Π°ΠΊΠ° влијаС Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со кластСрот ΠΊΠΎΠ½Π·ΡƒΠ».

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Ρ€Π΅ΡˆΠΈΠ²ΠΌΠ΅ Π΄Π° Π½Π΅ ΠΆΠΈΠ²Π΅Π΅ Π·Π°Π΅Π΄Π½ΠΎ, ΠΎΠ΄Π²ΠΎΠΈΠ²ΠΌΠ΅ посСбСн кластСр Π·Π° ΠΊΠΎΠ½Π·ΡƒΠ». А ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ вСќС Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ со посСбСн ΠšΠΎΠ½Π·ΡƒΠ», односно имашС посСбСн кластСр Postgres, посСбСн ΠΊΠΎΠ½Π·ΡƒΠ» кластСр. Ова Π΅ основна ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ˜Π° ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΈ носитС ΠΈ Ρ‡ΡƒΠ²Π°Ρ‚Π΅ ситС ΠΎΠ²ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° Π΄Π° Π½Π΅ ΠΆΠΈΠ²Π΅Π΅ Π·Π°Π΅Π΄Π½ΠΎ.

Како ΠΎΠΏΡ†ΠΈΡ˜Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΈΠ·Π²Ρ€Ρ‚ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ ttl, loop_wait, retry_timeout, Ρ‚.Π΅. Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΏΡ€Π΅ΠΆΠΈΠ²Π΅Π΅Ρ‚Π΅ ΠΎΠ²ΠΈΠ΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΡ€ΠΎΡ‡Π½ΠΈ Π²Ρ€Π²ΠΎΠ²ΠΈ Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ со Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. Но, ΠΎΠ²Π° Π½Π΅ Π΅ Π½Π°Ρ˜ΡΠΎΠΎΠ΄Π²Π΅Ρ‚Π½Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π°, бидСјќи ΠΎΠ²Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. И Π½ΠΈΠ΅ Сдноставно ќС Π³ΠΈ Π½Π°Π΄ΠΌΠΈΠ½Π΅ΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†ΠΈ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. И Ρ‚ΠΎΠ° ΠΌΠΎΠΆΠ΅Π±ΠΈ навистина Π½Π΅ΠΌΠ° Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠŸΡ€Π²ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅, Π΅ СдноставСн. Π—Π΅Π΄ΠΎΠ²ΠΌΠ΅ ΠΈ Π³ΠΎ ставивмС DCS Π·Π°Π΅Π΄Π½ΠΎ со основата, Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ сличСн Π½Π° ΠΏΡ€Π²ΠΈΠΎΡ‚. Π‘Π»ΠΈΡ‡Π½ΠΎ Π΅ ΠΏΠΎ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со интСропСрабилноста со систСмот DCS.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Ако Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅, ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π³Ρ€Π΅ΡˆΠΊΠ° Π²ΠΎ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. И ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°ΠΌ со DCS, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΡΠ΅Π³Π°ΡˆΠ½ΠΈΠΎΡ‚ господар ΠΎΠ΄ΠΈ Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°.

Π‘Ρ‚Π°Ρ€ΠΈΠΎΡ‚ ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ станува Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, ΠΎΠ²Π΄Π΅ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π°. Π Π°Π±ΠΎΡ‚ΠΈ pg_rewind Π·Π° Π΄Π° Π³ΠΎ ΠΏΡ€Π΅ΠΌΠΎΡ‚ΡƒΠ²Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакции Π½Π°Π½Π°Π·Π°Π΄ ΠΈ ΠΏΠΎΡ‚ΠΎΠ° Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со Π½ΠΎΠ²ΠΈΠΎΡ‚ господар Π·Π° Π΄Π° Π³ΠΎ достигнС Π½ΠΎΠ²ΠΈΠΎΡ‚ господар. Π’ΡƒΠΊΠ° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ОвдС ΠΌΠΎΡ€Π° Π΄Π° Π³ΠΎ најдСмС мСстото ΡˆΡ‚ΠΎ ΠΌΡƒ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π΅Π»ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, односно ΠΎΠ½ΠΈΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ ΡˆΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π»Π΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. И Π²ΠΎ овој ΠΏΠΎΠ³Π»Π΅Π΄, Patroni Π»ΠΎΠ³ΠΎΠ²ΠΈΡ‚Π΅ сС доста ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°. Вој Π³ΠΈ ΠΏΠΈΡˆΡƒΠ²Π° иститС ΠΏΠΎΡ€Π°ΠΊΠΈ Π²ΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». И Π°ΠΊΠΎ ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ Π±Ρ€Π·ΠΎ Π΄Π° сС Π΄Π²ΠΈΠΆΠΈΠΌΠ΅ Π½ΠΈΠ· ΠΎΠ²ΠΈΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ ΠΎΠ΄ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ сС смСнилС, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Π»Π΅. Π‘Ρ€Π·ΠΎ сС Π²Ρ€Π°ΡœΠ°ΠΌΠ΅ Π½Π° ΠΎΠ²Π° мСсто, Π²ΠΈΠ΄Π΅Ρ‚Π΅ ΡˆΡ‚ΠΎ ќС сС случи.

И Π²ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°, Ρ‚Ρ€ΡƒΠΏΡ†ΠΈΡ‚Π΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ Π²Π°ΠΊΠ°. Π‘Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° сопствСникот Π½Π° Π±Ρ€Π°Π²Π°Ρ‚Π°. И Π°ΠΊΠΎ сопствСникот, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ», Ρ‚ΠΎΠ³Π°Ρˆ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ Π½Π΅ΠΊΠΎΠΈ настани Π½Π° ΠΊΠΎΠΈ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ. Но, Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π½ΠΈΠ΅ смС Π΄ΠΎΠ±Ρ€ΠΎ. Π“ΠΎ Π±Π°Ρ€Π°ΠΌΠ΅ мСстото ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΎΡ‚ΠΊΠ°ΠΊΠΎ скролувавмС Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΏΠΎΡ‡Π½Π°Π° Π΄Π° сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅, Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° смС ΠΈΠΌΠ°Π»Π΅ автоматско ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. И бидСјќи Π½Π°ΡˆΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ Π±Π΅Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со DCS ΠΈ Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ користСвмС Consul, Π³ΠΈ Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π°ΠΌΠ΅ ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚, ΡˆΡ‚ΠΎ сС случи Ρ‚Π°ΠΌΡƒ.

Π“Ρ€ΡƒΠ±ΠΎ ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° поднСсувачот ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚, Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π°ΡˆΠΈΡ‚Π΅ сосСди Π²ΠΎ кластСрот ΠšΠΎΠ½Π·ΡƒΠ» ΠΏΠΎΡ‡Π½Π°Π° Π΄Π° сС сомнСваат Π²ΠΎ ΠΏΠΎΡΡ‚ΠΎΠ΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈ Π½Π° кластСрот ΠΊΠΎΠ½Π·ΡƒΠ».

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π°ΠΊΠΎ Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Π°Π³Π΅Π½Ρ‚ΠΈ Π½Π° ΠšΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° Ρ‚Π°ΠΌΡƒ сС случува Π½Π΅ΠΊΠ°ΠΊΠΎΠ² колапс Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. И ситС Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈ Π½Π° кластСрот ΠΊΠΎΠ½Π·ΡƒΠ» сС сомнСваат мСѓусСбно Π²ΠΎ ΠΏΠΎΡΡ‚ΠΎΠ΅ΡšΠ΅Ρ‚ΠΎ. И ΠΎΠ²Π° бСшС ΠΏΠΎΡ‚Ρ‚ΠΈΠΊ Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°.

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΡˆΡ‚ΠΎ сС случило ΠΏΡ€Π΅Π΄ ΠΎΠ²ΠΈΠ΅ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° сСкакви Π³Ρ€Π΅ΡˆΠΊΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€ΠΎΠΊΠΎΡ‚, RPC ΠΏΠ°Π΄Π½Π°, односно јасно Π΅ Π΄Π΅ΠΊΠ° постои Π½Π΅ΠΊΠ°ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° кластСрот ΠΊΠΎΠ½Π·ΡƒΠ» Π΅Π΄Π½ΠΈ со Π΄Ρ€ΡƒΠ³ΠΈ. .

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠΠ°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΎΡ‚ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π΅ Π΄Π° сС ΠΏΠΎΠΏΡ€Π°Π²ΠΈ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Но, Π·Π° ΠΌΠ΅Π½Π΅, ΡΡ‚ΠΎΠ΅Ρ˜ΡœΠΈ Π½Π° ΠΏΠΎΠ΄ΠΈΡƒΠΌΠΎΡ‚, лСсно Π΅ Π΄Π° Π³ΠΎ ΠΊΠ°ΠΆΠ°ΠΌ ΠΎΠ²Π°. Но, околноститС сС Ρ‚Π°ΠΊΠ²ΠΈ ΡˆΡ‚ΠΎ Π½Π΅ сСкогаш ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° си Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ја ΠΏΠΎΠΏΡ€Π°Π²ΠΈ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Вој ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ Π²ΠΎ DC ΠΈ Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΏΠΎΠΏΡ€Π°Π²ΠΈ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, Π΄Π° влијаС Π½Π° ΠΎΠΏΡ€Π΅ΠΌΠ°Ρ‚Π°. И Π·Π°Ρ‚ΠΎΠ° сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π½Π΅ΠΊΠΎΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΎΠΏΡ†ΠΈΠΈ:

  • ΠΠ°Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π°, која Π΅ напишана, спорСд ΠΌΠ΅Π½Π΅, Π΄ΡƒΡ€ΠΈ ΠΈ Π²ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°, Π΅ Π΄Π° сС ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚, односно Сдноставно Π΄Π° сС ΠΏΠΎΠΌΠΈΠ½Π΅ ΠΏΡ€Π°Π·Π½Π° Π½ΠΈΠ·Π°. И ΠΌΡƒ ΠΊΠ°ΠΆΡƒΠ²Π°ΠΌΠ΅ Π½Π° Π°Π³Π΅Π½Ρ‚ΠΎΡ‚ Π½Π° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚ Π΄Π° Π½Π΅ користи Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Ρ‡Π΅ΠΊΠΎΠ²ΠΈ. Π‘ΠΎ ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°ΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΌΡ€Π΅ΠΆΠ½ΠΈ Π±ΡƒΡ€ΠΈ ΠΈ Π΄Π° Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΡ€Π°ΠΌΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°.
  • Π”Ρ€ΡƒΠ³Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π΅ двојно Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ raft_multiplier. Ова Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ Π½Π° самиот сСрвСр ΠΊΠΎΠ½Π·ΡƒΠ». Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ, Ρ‚Π°Π° Π΅ поставСна Π½Π° 5. Оваа врСдност Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡Π°Π½Π° ΠΎΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° срСдини Π·Π° ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅. Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, ΠΎΠ²Π° влијаС Π½Π° зачСстСноста Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π½Π° ΠšΠΎΠ½Π·ΡƒΠ». Π’ΡΡƒΡˆΠ½ΠΎΡΡ‚, овој ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ влијаС Π½Π° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° услугата ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° кластСрот ΠšΠΎΠ½Π·ΡƒΠ». И Π·Π° производство, вСќС сС ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π° Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ почСсто Ρ€Π°Π·ΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΡ€Π°ΠΊΠΈ.
  • Π”Ρ€ΡƒΠ³Π° ΠΎΠΏΡ†ΠΈΡ˜Π° ΡˆΡ‚ΠΎ ја смисливмС Π΅ Π΄Π° Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° процСситС Π½Π° ΠšΠΎΠ½Π·ΡƒΠ» ΠΌΠ΅Ρ“Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ процСси Π·Π° распорСдувачот Π½Π° процСси Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм. Има Ρ‚Π°ΠΊΠΎΠ² β€žΡƒΠ±Π°Π²β€œ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€, Ρ‚ΠΎΡ˜ само Π³ΠΎ ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° процСситС ΡˆΡ‚ΠΎ Π³ΠΎ Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ распорСдувачот Π½Π° ОБ ΠΏΡ€ΠΈ Π·Π°ΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. Ја Π½Π°ΠΌΠ°Π»ΠΈΠ²ΠΌΠ΅ ΠΈ ΡƒΠ±Π°Π²Π°Ρ‚Π° врСдност Π·Π° Π°Π³Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠšΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚, Ρ‚.Π΅. Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм ΠΈΠΌ Π΄Π°Π²Π° повСќС Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСситС Π½Π° ΠšΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠ°Ρ‚ Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄. Π’ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΎΠ²Π° Π½ΠΈ Π³ΠΎ Ρ€Π΅ΡˆΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚.
  • Π”Ρ€ΡƒΠ³Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π΅ Π΄Π° Π½Π΅ сС користи ΠΊΠΎΠ½Π·ΡƒΠ». Имам ΠΏΡ€ΠΈΡ˜Π°Ρ‚Π΅Π» кој Π΅ Π³ΠΎΠ»Π΅ΠΌ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Ρ‡ Π½Π° Etcd. И Π½ΠΈΠ΅ Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ сС расправамС со Π½Π΅Π³ΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Etcd ΠΈΠ»ΠΈ Consul. Но, Π²ΠΎ однос Π½Π° Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ, Π½ΠΈΠ΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС согласувамС со Π½Π΅Π³ΠΎ Π΄Π΅ΠΊΠ° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚ ΠΈΠΌΠ° Π°Π³Π΅Π½Ρ‚ кој Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° сСкој јазол со Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Односно, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ со кластСрот ΠΊΠΎΠ½Π·ΡƒΠ» ΠΎΠ΄ΠΈ ΠΏΡ€Π΅ΠΊΡƒ овој Π°Π³Π΅Π½Ρ‚. И овој Π°Π³Π΅Π½Ρ‚ станува тСсно Π³Ρ€Π»ΠΎ. Ако Π½Π΅ΡˆΡ‚ΠΎ сС случи со Π°Π³Π΅Π½Ρ‚ΠΎΡ‚, Ρ‚ΠΎΠ³Π°Ρˆ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ повСќС Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со кластСрот ΠΊΠΎΠ½Π·ΡƒΠ». И ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚. НСма Π°Π³Π΅Π½Ρ‚ Π²ΠΎ ΠΏΠ»Π°Π½ΠΎΡ‚ Etcd. Patroni ΠΌΠΎΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со список Π½Π° сСрвСри Etcd ΠΈ вСќС Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со Π½ΠΈΠ². Π’ΠΎ овој ΠΏΠΎΠ³Π»Π΅Π΄, Π°ΠΊΠΎ користитС Etcd Π²ΠΎ Π²Π°ΡˆΠ°Ρ‚Π° компанија, Ρ‚ΠΎΠ³Π°Ρˆ Etcd Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π°Ρ€ ΠΈΠ·Π±ΠΎΡ€ ΠΎΠ΄ Consul. Но, Π½ΠΈΠ΅ кај Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ сСкогаш смС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ ΠΎΠ΄ ΠΎΠ½Π° ΡˆΡ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π³ΠΎ ΠΈΠ·Π±Ρ€Π°Π» ΠΈ користи. И Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ½Π·ΡƒΠ» Π²ΠΎ најголСм Π΄Π΅Π» Π·Π° ситС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.
  • И послСдната Ρ‚ΠΎΡ‡ΠΊΠ° Π΅ Π΄Π° сС Ρ€Π΅Π²ΠΈΠ΄ΠΈΡ€Π°Π°Ρ‚ врСдноститС Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅. МоТСмС Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ со Π½Π°Π΄Π΅ΠΆ Π΄Π΅ΠΊΠ° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΡ€ΠΎΡ‡Π½ΠΈ ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΈ ΠΈ Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ опсСгот Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. На овој Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ја Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ агрСсивноста Π½Π° Patroni Π²ΠΎ автоматска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ Π½Π΅ΠΊΠΎΠΈ ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Мислам Π΄Π΅ΠΊΠ° ΠΌΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π° ΠΊΠΎΠΈ користат Patroni сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½ΠΈ со ΠΎΠ²Π°Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° 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 ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Π²ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡƒ слободСн простор ΠΈΠΌΠ°ΠΌΠ΅. И Π΄ΠΎΠ½ΠΈΡ€Π°Π²ΠΌΠ΅ 000 Π³ΠΈΠ³Π°Π±Π°Ρ˜Ρ‚ΠΈ Π·Π° wal_keep_segments. Односно, ΠΏΡ€ΠΈ ΠΏΡ€Π΅Ρ„Ρ€Π»ΡƒΠ²Π°ΡšΠ΅, сСкогаш ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π° ΠΎΠ΄ 16 Π³ΠΈΠ³Π°Π±Π°Ρ˜Ρ‚ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π·Π° трансакции Π½Π° ситС јазли.

И плус - сè ΡƒΡˆΡ‚Π΅ Π΅ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π΅Π½ Π·Π° Π΄ΠΎΠ»Π³ΠΎΡ€ΠΎΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅. Π”Π° Ρ€Π΅Ρ‡Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΠ΄ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅. И Π½ΠΈΠ΅ сакамС Π΄Π° Π³ΠΎ исклучимС. Π’Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ софтвСрот, ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм, Π½Π΅ΡˆΡ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ. И ΠΊΠΎΠ³Π° ќС исклучимС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, ΠΎΡ‚Π²ΠΎΡ€ΠΎΡ‚ Π·Π° Ρ‚Π°Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° исто Ρ‚Π°ΠΊΠ° сС отстранува. И Π°ΠΊΠΎ користимС ΠΌΠ°Π»ΠΈ wal_keep_segments, Ρ‚ΠΎΠ³Π°Ρˆ со Π΄ΠΎΠ»Π³ΠΎ отсуство Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° трансакциитС ќС Π±ΠΈΠ΄Π°Ρ‚ ΠΈΠ·Π³ΡƒΠ±Π΅Π½ΠΈ. ЌС ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ΠΌΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Ρ‚Π°Π° ќС Π³ΠΈ ΠΏΠΎΠ±Π°Ρ€Π° ΠΎΠ½ΠΈΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½Π° трансакции ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ застана, Π½ΠΎ Ρ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π΅ сС Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚. А Π½ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅. Π—Π°Ρ‚ΠΎΠ°, Ρ‡ΡƒΠ²Π°ΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌΠ° Π·Π°Π»ΠΈΡ…Π° Π½Π° списанија.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ИмамС производствСна Π±Π°Π·Π°. Π’Π΅ΡœΠ΅ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π²ΠΎ Ρ‚Π΅ΠΊ.

ИмашС Ρ„Π°Ρ˜Π». Π’Π»Π΅Π³ΠΎΠ²ΠΌΠ΅ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Π²ΠΌΠ΅ - сС Π΅ Π²ΠΎ Ρ€Π΅Π΄, Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅ сС Π½Π° мСсто, Π½Π΅ΠΌΠ° Π·Π°ΠΎΡΡ‚Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Ниту Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ, сС Π΅ Π²ΠΎ Ρ€Π΅Π΄.

Π’ΠΈΠΌΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π½ΠΎ Π½ΠΈΠ΅ Π³ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΈΠ·Π²ΠΎΡ€, Π½ΠΎ Π½Π΅ Π³ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. И Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ ΡˆΡ‚ΠΎ сС случи со Π½ΠΈΠ².

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Јасно Π΅ Π΄Π΅ΠΊΠ° pg_rewind Π³ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡˆΡ‚ΠΈ. Π’Π΅Π΄Π½Π°Ρˆ Π³ΠΎ Ρ€Π°Π·Π±Ρ€Π°Π²ΠΌΠ΅ ΠΎΠ²Π°, Π½ΠΎ ΠΎΡ‚ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΡˆΡ‚ΠΎ сС случува.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅, сСкогаш ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌΠ΅ ΠΊΠΎΠ³Π° сС случил ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΎΡ‚, кој станал господар, ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ кој Π±ΠΈΠ» стариот господар ΠΈ ΠΊΠΎΠ³Π° сакал Π΄Π° станС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Ρ‚.Π΅. ΠΎΠ²ΠΈΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°Π°Ρ‚ Π·Π° Π΄Π° ја Π΄ΠΎΠ·Π½Π°Π΅ΠΌΠ΅ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π·Π° трансакции ΡˆΡ‚ΠΎ бСшС ΠΈΠ·Π³ΡƒΠ±Π΅Π½.

ΠΠ°ΡˆΠΈΠΎΡ‚ стар господар сС рСстартира. И ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ бСшС рСгистриран Π²ΠΎ Π°Π²Ρ‚ΠΎΡ€ΡƒΠ½. Лансиран Patroni. ΠŸΠΎΡ‚ΠΎΠ° Π³ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π° Postgres. ΠŸΠΎΡ‚ΠΎΡ‡Π½ΠΎ, ΠΏΡ€Π΅Π΄ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ Postgres ΠΈ ΠΏΡ€Π΅Π΄ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Patroni Π³ΠΎ Π»Π°Π½ΡΠΈΡ€Π°ΡˆΠ΅ процСсот pg_rewind. Π‘ΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΎ Π½Π° Ρ‚ΠΎΠ°, Ρ‚ΠΎΡ˜ ΠΈΠ·Π±Ρ€ΠΈΡˆΠ° Π΄Π΅Π» ΠΎΠ΄ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° трансакциитС, ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡˆΠ΅ Π½ΠΎΠ²ΠΈ ΠΈ сС ΠΏΠΎΠ²Ρ€Π·Π°. Π’ΡƒΠΊΠ° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΎ, односно ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΎ. ΠšΠ»Π°ΡΡ‚Π΅Ρ€ΠΎΡ‚ Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½. ИмавмС 3 јазли, ΠΏΠΎ Ρ„ΠΈΠ»Π΅Ρ€ 3 јазли - сè Π΅ ΠΊΡƒΠ».

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π˜Π·Π³ΡƒΠ±ΠΈΠ²ΠΌΠ΅ Π½Π΅ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. И Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡƒ смС ΠΈΠ·Π³ΡƒΠ±ΠΈΠ»Π΅. Π“ΠΎ Π±Π°Ρ€Π°ΠΌΠ΅ само ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ ΠΊΠΎΠ³Π° ΠΈΠΌΠ°Π²ΠΌΠ΅ ΠΏΡ€Π΅ΠΌΠΎΡ‚ΡƒΠ²Π°ΡšΠ΅. МоТСмС Π΄Π° Π³ΠΎ најдСмС Π²ΠΎ Ρ‚Π°ΠΊΠ²ΠΈ записи Π²ΠΎ списаниСто. Rewind Π·Π°ΠΏΠΎΡ‡Π½Π°, Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅ΡˆΡ‚ΠΎ Ρ‚Π°ΠΌΡƒ ΠΈ Π·Π°Π²Ρ€ΡˆΠΈ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’Ρ€Π΅Π±Π° Π΄Π° ја најдСмС ΠΏΠΎΠ·ΠΈΡ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакции ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ застанал стариот господар. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΎΠ²Π° Π΅ ΠΎΠ·Π½Π°ΠΊΠ°Ρ‚Π°. И Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° Π²Ρ‚ΠΎΡ€Π° ΠΎΠ·Π½Π°ΠΊΠ°, односно Ρ€Π°ΡΡ‚ΠΎΡ˜Π°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ ΠΊΠΎΠ΅ стариот ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π° ΠΎΠ΄ Π½ΠΎΠ²ΠΈΠΎΡ‚.

Π“ΠΈ Π·Π΅ΠΌΠ°ΠΌΠ΅ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈΡ‚Π΅ pg_wal_lsn_diff ΠΈ Π³ΠΈ спорСдувамС ΠΎΠ²ΠΈΠ΅ Π΄Π²Π΅ ΠΎΠ·Π½Π°ΠΊΠΈ. И Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ 17 ΠΌΠ΅Π³Π°Π±Π°Ρ˜Ρ‚ΠΈ. ΠœΠ½ΠΎΠ³Ρƒ ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΡƒ, сСкој ΠΎΠ΄Π»ΡƒΡ‡ΡƒΠ²Π° Π·Π° сСбС. Π—Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π·Π° Π½Π΅ΠΊΠΎΠ³ΠΎ 17 ΠΌΠ΅Π³Π°Π±Π°Ρ˜Ρ‚ΠΈ Π½Π΅ сС ΠΌΠ½ΠΎΠ³Ρƒ, Π·Π° Π½Π΅ΠΊΠΎΠ³ΠΎ сС ΠΌΠ½ΠΎΠ³Ρƒ ΠΈ Π½Π΅ΠΏΡ€ΠΈΡ„Π°Ρ‚Π»ΠΈΠ²ΠΈ. ОвдС сСкој ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ† сам си ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° Π²ΠΎ согласност со ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅ Π½Π° бизнисот.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Но, ΡˆΡ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²ΠΌΠ΅ сами?

ΠŸΡ€Π²ΠΎ, ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠΌΠ΅ сами - Π΄Π°Π»ΠΈ сСкогаш Π½ΠΈ Ρ‚Ρ€Π΅Π±Π° Patroni Π·Π° автоматско ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° систСмот? ЧСсто сС случува Π΄Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΠ΄ΠΈΠΌΠ΅ кај стариот ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€, Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄ΠΎ ΠΊΠ°Π΄Π΅ стигнал. МоТСби ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅ Π³ΠΈ сСгмСнтитС ΠΎΠ΄ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакциитС, Π²ΠΈΠ΄Π΅Ρ‚Π΅ ΡˆΡ‚ΠΎ ΠΈΠΌΠ° Ρ‚Π°ΠΌΡƒ. И Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈΠ»ΠΈ Π΄Π°Π»ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ стариот господар Π²ΠΎ самостоСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

И само послС Ρ‚ΠΎΠ° ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΎΡ‚Ρ„Ρ€Π»ΠΈΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅, Π΄Π° Π³ΠΎ ΠΏΠΎΠ²Ρ€Π·Π΅ΠΌΠ΅ овој јазол ΠΊΠ°ΠΊΠΎ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° со Π½Π°ΡˆΠΈΠΎΡ‚ кластСр.

ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, постои ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ β€žmaximum_lag_on_failoverβ€œ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ, Π°ΠΊΠΎ ΠΌΠ΅ опслуТува ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°, овој ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΈΠΌΠ° врСдност ΠΎΠ΄ 1 ΠΌΠ΅Π³Π°Π±Π°Ρ˜Ρ‚.

Како Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΠΎΡ˜? Ако Π½Π°ΡˆΠ°Ρ‚Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° заостанува со 1 ΠΌΠ΅Π³Π°Π±Π°Ρ˜Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ Π·Π°ΠΎΡΡ‚Π°Π½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Ρˆ ΠΎΠ²Π°Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° Π½Π΅ учСствува Π½Π° ΠΈΠ·Π±ΠΎΡ€ΠΈΡ‚Π΅. И Π°ΠΊΠΎ одСднаш дојдС Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π³Π»Π΅Π΄Π° ΠΊΠΎΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ заостануваат. Ако заостануваат со Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Π»ΠΎΠ³ΠΎΠ²ΠΈ Π½Π° трансакции, Ρ‚ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° станат господар. Ова Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€Π° бСзбСдносна карактСристика ΡˆΡ‚ΠΎ Π²Π΅ спрСчува Π΄Π° ΠΈΠ·Π³ΡƒΠ±ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Но, постои ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΄ΠΎΡ†Π½Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ кластСрот Patroni ΠΈ DCS сС Π°ΠΆΡƒΡ€ΠΈΡ€Π° Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». Мислам Π΄Π΅ΠΊΠ° 30 сСкунди Π΅ стандардната врСдност ttl.

Π‘ΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π° ΠΊΠΎΠ³Π° ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ Π·Π°Π΄ΠΎΡ†Π½ΡƒΠ²Π°ΡšΠ΅ Π·Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅ Π²ΠΎ DCS, Π½ΠΎ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° сосСма ΠΏΠΎΠΈΠ½Π°ΠΊΠ²ΠΎ Π·Π°Π΄ΠΎΡ†Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ΠΌΠ° Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π·Π°Π΄ΠΎΡ†Π½ΡƒΠ²Π°ΡšΠ΅, Ρ‚.Π΅. ΠΎΠ²Π° Π½Π΅ΡˆΡ‚ΠΎ Π½Π΅ Π΅ Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. И Ρ‚ΠΎΠ° Π½Π΅ сСкогаш ја ΠΎΠ΄Ρ€Π°Π·ΡƒΠ²Π° Ρ€Π΅Π°Π»Π½Π°Ρ‚Π° слика. И Π½Π΅ Π²Ρ€Π΅Π΄ΠΈ Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ фСнси Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Ρ‚ΠΎΠ°.

И Ρ€ΠΈΠ·ΠΈΠΊΠΎΡ‚ ΠΎΠ΄ Π·Π°Π³ΡƒΠ±Π° сСкогаш останува. И Π²ΠΎ најлош ΡΠ»ΡƒΡ‡Π°Ρ˜, Π΅Π΄Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, Π° Π²ΠΎ просСчСн ΡΠ»ΡƒΡ‡Π°Ρ˜, Π΄Ρ€ΡƒΠ³Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°. Односно, ΠΊΠΎΠ³Π° ја ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Patroni ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½ΡƒΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅, ΠΌΠΎΡ€Π° Π΄Π° сС ΠΏΠΎΡ‚ΠΏΡ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ ΠΈ Π³Ρ€ΡƒΠ±ΠΎ Π΄Π° замислимС ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅.

И ΠΈΠΌΠ° Π΄ΠΎΠ±Ρ€ΠΈ вСсти. Кога стариот господар ΠΎΡ‚ΠΈΠ΄Π΅ Π½Π°ΠΏΡ€Π΅Π΄, Ρ‚ΠΎΡ˜ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ΠΊΠΎΠΈ процСси Π²ΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Π°. Односно, имашС Π½Π΅ΠΊΠ°ΠΊΠΎΠ² Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ, Π³ΠΈ напиша ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, Π³ΠΈ Π·Π°Ρ‡ΡƒΠ²Π° Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакциитС. И лСсно ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°ΠΌΠ΅ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. НСма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ ΠΎΠ²Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π²Π°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π°ΠΊΠΎ сС постави maximum_lag_on_failover ΠΈ сС појавил Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½. Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° сС ΠΎΡ†Π΅Π½ΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ нСспособна Π΄Π° учСствува Π½Π° ΠΈΠ·Π±ΠΎΡ€ΠΈΡ‚Π΅. И Ρ‚Π°Π° ΠΎΠ΄Π±ΠΈΠ²Π° Π΄Π° учСствува Π²ΠΎ Ρ‚Ρ€ΠΊΠ°Ρ‚Π° Π·Π° Π»ΠΈΠ΄Π΅Ρ€. И Ρ‚Π°Π° Ρ‡Π΅ΠΊΠ° Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ Π½ΠΎΠ² господар, Π·Π° ΠΏΠΎΡ‚ΠΎΠ° Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со Π½Π΅Π³ΠΎ. Ова Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΌΠ΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π³ΡƒΠ±Π΅ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ОвдС ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚ΠΈΠΌ Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ кој напиша Π΄Π΅ΠΊΠ° Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Postgres. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, самиот господар Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС пристапи, бидСјќи Π½Π΅ Π΅ достапСн ΠΏΡ€Π΅ΠΊΡƒ SSH. И Π°Π²Ρ‚ΠΎ-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π΅ сС случува.

Овој домаќин бСшС ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ Π΄Π° сС рСстартира. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ, сС случи автоматска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΠΈΠ°ΠΊΠΎ бСшС ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ€Π°Ρ‡Π½Π° автоматска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сСга Ρ€Π°Π·Π±Ρ€Π°Π². И ΠΏΠΎ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ, вСќС ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅ ΡˆΡ‚ΠΎ ΠΈΠΌΠ°Π²ΠΌΠ΅ со ΡΠ΅Π³Π°ΡˆΠ½ΠΈΠΎΡ‚ ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π·Π½Π°Π΅Π²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со дисковитС, односно вСќС Π·Π½Π°Π΅Π²ΠΌΠ΅ ΠΎΠ΄ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠ°Π΄Π΅ Π΄Π° ΠΊΠΎΠΏΠ°ΠΌΠ΅ ΠΈ ΡˆΡ‚ΠΎ Π΄Π° Π±Π°Ρ€Π°ΠΌΠ΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’Π»Π΅Π³ΠΎΠ²ΠΌΠ΅ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° постгрСс, ΠΏΠΎΡ‡Π½Π°Π²ΠΌΠ΅ Π΄Π° Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡˆΡ‚ΠΎ сС случува Ρ‚Π°ΠΌΡƒ. Π’ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π·Π°Π»ΠΎΠΆΠ±ΠΈ ΠΊΠΎΠΈ Ρ‚Π°ΠΌΡƒ Ρ‚Ρ€Π°Π°Ρ‚ Π΅Π΄Π½Π°, Π΄Π²Π΅, Ρ‚Ρ€ΠΈ сСкунди, ΡˆΡ‚ΠΎ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ. Π’ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π°ΡˆΠΈΠΎΡ‚ Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ сС Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΌΠ½ΠΎΠ³Ρƒ Π±Π°Π²Π½ΠΎ ΠΈ Ρ‡ΡƒΠ΄Π½ΠΎ. И Π²ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° дискот. Π’ΠΎΠ° Π΅, ситС ΠΎΠ²ΠΈΠ΅ сС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со дисковитС.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π“ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π²ΠΌΠ΅ систСмот dmesg (Π΄Π½Π΅Π²Π½ΠΈΠΊ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚). И Π²ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Π΅Π΄Π΅Π½ ΠΎΠ΄ дисковитС. ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠΎΡ‚ Π½Π° дискот бСшС софтвСрски Raid. ПоглСднавмС Π²ΠΎ /proc/mdstat ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½ΠΈ нСдостасува Π΅Π΄Π΅Π½ диск. Односно ΠΈΠΌΠ° Raid ΠΎΠ΄ 8 дискови, Π΅Π΄Π΅Π½ Π½ΠΈ Ρ„Π°Π»ΠΈ. Ако Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΡΠ»Π°Ρ˜Π΄ΠΎΡ‚, Ρ‚ΠΎΠ³Π°Ρˆ Π½Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° Π½Π΅ΠΌΠ°ΠΌΠ΅ sde Ρ‚Π°ΠΌΡƒ. Кај нас, условно ΠΊΠ°ΠΆΠ°Π½ΠΎ, испадна дискот. Ова ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со дискот, Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ исто Ρ‚Π°ΠΊΠ° ΠΈΠΌΠ°Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со кластСрот Postgres.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Patroni Π½Π΅ Π±ΠΈ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΎ, бидСјќи Patroni Π½Π΅ΠΌΠ° Π·Π°Π΄Π°Ρ‡Π° Π΄Π° ја слСди ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° сСрвСрот, ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° дискот. А Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ ситуации ΠΌΠΎΡ€Π° Π΄Π° Π³ΠΈ слСдимС со Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ΅Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Π‘Ρ€Π·ΠΎ Π΄ΠΎΠ΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° дискот Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ΅Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³.

И имашС Ρ‚Π°ΠΊΠ²Π° мисла - Π΄Π°Π»ΠΈ софтвСрот Π·Π° ΠΌΠ΅Ρ‡ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ»ΠΈ Ρ‡ΡƒΠ²Π°Ρ€ Π½Π° ΠΊΡƒΡ‡ΠΈΡšΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅? МислСвмС Π΄Π΅ΠΊΠ° Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π΅ΠΊΠ° ќС Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, бидСјќи Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со кластСрот DCS ΠΈ Π½Π΅ Π²ΠΈΠ΄Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ΠΎΠ° Π΅, ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° DCS ΠΈ Patroni, сè бСшС Π²ΠΎ Ρ€Π΅Π΄ со кластСрот, ΠΈΠ°ΠΊΠΎ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ имашС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со дискот, имашС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со достапноста Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½Π΅, ΠΎΠ²Π° Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°Ρ˜Ρ‡ΡƒΠ΄Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΡˆΡ‚ΠΎ Π³ΠΈ истраТував Π΄ΠΎΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΌΠ½ΠΎΠ³Ρƒ Π»ΠΎΠ³ΠΎΠ²ΠΈ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·Π±Ρ€Π°Π² ΠΈ Π³ΠΎ Π½Π°Ρ€Π΅ΠΊΠΎΠ² симулатор Π½Π° кластСри.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ бСшС ΡˆΡ‚ΠΎ стариот ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ Π½Π΅ моТСшС Π΄Π° станС Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Ρ‚.Π΅. Π‘Π΅Π³Π° ќС Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π·ΠΎΡˆΡ‚ΠΎ. Ова Π³ΠΎ Π·Π°Π΄Ρ€ΠΆΠ°Π² ΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚Π° Π½Π° Ρ‚ΠΎΡ˜ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И ΠΊΠ°ΠΊΠΎ сСто Ρ‚ΠΎΠ° Π·Π°ΠΏΠΎΡ‡Π½Π°? ΠŸΠΎΡ‡Π½Π°, ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, со диск сопирачки. ИмавмС обврски Π·Π° сСкунда, Π΄Π²Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ИмашС ΠΏΡ€Π΅ΠΊΠΈΠ½ΠΈ Π²ΠΎ врскитС, Ρ‚.Π΅. ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ Π±Π΅Π° искинати.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ИмашС Π±Π»ΠΎΠΊΠ°Π΄ΠΈ со Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° Ρ‚Π΅ΠΆΠΈΠ½Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И, соодвСтно, потсистСмот Π½Π° дискот Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³Ρƒ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π½Π°Ρ˜ΠΌΠΈΡΡ‚Π΅Ρ€ΠΈΠΎΠ·Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° ΠΌΠ΅Π½Π΅ Π΅ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ ΡˆΡ‚ΠΎ пристигна. Postgres ΠΈΠΌΠ° Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅:

  • Π”ΠΎΠ±Ρ€ΠΎ Π΅ ΠΊΠΎΠ³Π° Ρ‡Π΅ΠΊΠ°ΠΌΠ΅ ситС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ сами Π΄Π° сС исклучат.
  • Има Π±Ρ€Π·ΠΎ ΠΊΠΎΠ³Π° Π³ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΡƒΠ²Π°ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΄Π° сС исклучат Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ќС сС исклучимС.
  • И вСднаш. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, immediate Π΄ΡƒΡ€ΠΈ ΠΈ Π½Π΅ ΠΈΠΌ ΠΊΠ°ΠΆΡƒΠ²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΄Π° сС исклучат, Ρ‚ΡƒΠΊΡƒ само сС исклучува Π±Π΅Π· ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅. И Π½Π° ситС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм вСќС ΠΈΡΠΏΡ€Π°ΡœΠ° RST ΠΏΠΎΡ€Π°ΠΊΠ° (ΠΏΠΎΡ€Π°ΠΊΠ° TCP Π΄Π΅ΠΊΠ° врската Π΅ ΠΏΡ€Π΅ΠΊΠΈΠ½Π°Ρ‚Π° ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π½Π΅ΠΌΠ° ΡˆΡ‚ΠΎ повСќС Π΄Π° Ρ„Π°Ρ‚ΠΈ).

Кој Π³ΠΎ испрати овој сигнал? ΠŸΠΎΠ·Π°Π΄ΠΈΠ½ΡΠΊΠΈΡ‚Π΅ процСси Π½Π° Postgres Π½Π΅ ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Ρ‚Π°ΠΊΠ²ΠΈ сигнали Π΅Π΄Π½ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ, Ρ‚.Π΅. ΠΎΠ²Π° Π΅ kill-9. Π’ΠΈΠ΅ Π½Π΅ си ΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Ρ‚Π°ΠΊΠ²ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚ΡƒΠΊΡƒ само Ρ€Π΅Π°Π³ΠΈΡ€Π°Π°Ρ‚ Π½Π° Ρ‚Π°ΠΊΠ²ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ, односно ΠΎΠ²Π° Π΅ ΠΈΡ‚Π΅Π½ рСстарт Π½Π° ΠŸΠΎΡΡ‚Π³Ρ€Π΅Ρ. Кој Π³ΠΎ испрати, Π½Π΅ Π·Π½Π°ΠΌ.

Ја ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žΠΏΠΎΡΠ»Π΅Π΄Π½Π°β€œ ΠΈ Π²ΠΈΠ΄ΠΎΠ² Π΅Π΄Π½ΠΎ Π»ΠΈΡ†Π΅ ΠΊΠΎΠ΅ исто Ρ‚Π°ΠΊΠ° сС најави Π½Π° овој сСрвСр со нас, Π½ΠΎ Π±Π΅Π² ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ срамСТлив Π΄Π° поставам ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅. МоТСби Ρ‚ΠΎΠ° бСшС ΡƒΠ±ΠΈΠ΅ -9. ЌС Π²ΠΈΠ΄Π°ΠΌ ΡƒΠ±ΠΈΠ΅ -9 Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅, Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Postgres Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΡƒΠ±ΠΈΠ΅ -9, Π½ΠΎ јас Π½Π΅ Π³ΠΎ Π²ΠΈΠ΄ΠΎΠ² Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π“Π»Π΅Π΄Π°Ρ˜ΡœΠΈ ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΡƒ, Π²ΠΈΠ΄ΠΎΠ² Π΄Π΅ΠΊΠ° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΈΡˆΡƒΠ²Π°ΡˆΠ΅ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ доста Π΄ΠΎΠ»Π³ΠΎ - 54 сСкунди. И Π°ΠΊΠΎ спорСдимС Π΄Π²Π° врСмСнски ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, нСмашС ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠΊΠΎΠ»Ρƒ 54 сСкунди.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π·Π° Ρ‚ΠΎΠ° Π²Ρ€Π΅ΠΌΠ΅ имашС Π°Π²Ρ‚ΠΎ-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π·Π°Π²Ρ€ΡˆΠΈ ΠΎΠ΄Π»ΠΈΡ‡Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΎΠ²Π΄Π΅. ΠΠ°ΡˆΠΈΠΎΡ‚ стар господар бСшС нСдостапСн, Π½Π΅ΡˆΡ‚ΠΎ ΠΌΡƒ сС случи. И Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΈΠ·Π±ΠΎΡ€ΠΎΡ‚ Π½Π° Π½ΠΎΠ² ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€. Π‘Γ¨ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡˆΠ΅ Π΄ΠΎΠ±Ρ€ΠΎ ΠΎΠ²Π΄Π΅. ΠΠ°ΡˆΠΈΠΎΡ‚ pgsql01 стана Π½ΠΎΠ² Π»ΠΈΠ΄Π΅Ρ€.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ИмамС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° која стана ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€. И ΠΈΠΌΠ° Π²Ρ‚ΠΎΡ€ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€. И имашС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°. Π’Π°Π° сС ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° сС Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°. Како ΡˆΡ‚ΠΎ Ρ€Π°Π·Π±Ρ€Π°Π², Ρ‚Π°Π° сС ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° Π³ΠΎ смСни recovery.conf, Π΄Π° Π³ΠΎ рСстартира Postgres ΠΈ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со Π½ΠΎΠ²ΠΈΠΎΡ‚ господар. На сСкои 10 сСкунди ΠΏΠΈΡˆΡƒΠ²Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π΄Π΅ΠΊΠ° сС Ρ‚Ρ€ΡƒΠ΄ΠΈ, Π½ΠΎ Π½Π΅ успСва.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΎΠ±ΠΈΠ΄ΠΈ, сигнал Π·Π° ΠΈΡ‚Π½ΠΎ ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ пристигнува Π΄ΠΎ стариот господар. ΠœΠ°Ρ˜ΡΡ‚ΠΎΡ€ΠΎΡ‚ сС рСстартира. И, исто Ρ‚Π°ΠΊΠ°, Π·Π°ΠΊΡ€Π΅ΠΏΠ½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ прСстанува бидСјќи стариот ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ ΠΎΠ΄ΠΈ Π²ΠΎ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅. Односно, Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со Π½Π΅Π°, бидСјќи Π΅ Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’ΠΎ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡˆΠ΅, Π½ΠΎ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°.

ΠœΠΎΡ˜Π°Ρ‚Π° СдинствСна прСтпоставка Π΅ Π΄Π΅ΠΊΠ° имашС стара мастСр адрСса Π²ΠΎ Π·Π°ΠΊΡ€Π΅ΠΏΠ½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ.conf. И ΠΊΠΎΠ³Π° сС појави Π½ΠΎΠ² ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€, Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° сè ΡƒΡˆΡ‚Π΅ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π°ΡˆΠ΅ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со стариот ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Кога Patroni ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡˆΠ΅ Π½Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Ρ˜Π°Π·ΠΎΠ»ΠΎΡ‚ Π·Π°ΠΏΠΎΡ‡Π½Π°, Π½ΠΎ Π½Π΅ моТСшС Π΄Π° сС Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€Π°. И сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΡˆΠ΅ Π·Π°ΠΎΡΡ‚Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, ΡˆΡ‚ΠΎ изглСдашС ΠΎΡ‚ΠΏΡ€ΠΈΠ»ΠΈΠΊΠ° Π²Π°ΠΊΠ°. Π’ΠΎΠ° Π΅, ситС Ρ‚Ρ€ΠΈ јазли Π±Π΅Π° Π½Π° мСсто, Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ јазол Π·Π°ΠΎΡΡ‚Π°Π½ΡƒΠ²Π°ΡˆΠ΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, Π°ΠΊΠΎ Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π±Π΅Π° напишани, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ бидСјќи Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° трансакциитС Π±Π΅Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ. И ΠΎΠ½ΠΈΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π·Π° трансакции ΡˆΡ‚ΠΎ Π³ΠΈ Π½ΡƒΠ΄ΠΈ ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ΠΎΡ‚, ΠΊΠΎΠΈ сС Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ recovery.conf, Сдноставно Π½Π΅ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Π°Ρ‚ Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π΅Π½ јазол.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Ρ‚ΡƒΠΊΠ° Π·Π³Ρ€Π΅ΡˆΠΈΠ². ΠœΠΎΡ€Π°Π² Π΄Π° дојдам ΠΈ Π΄Π° Π²ΠΈΠ΄Π°ΠΌ ΡˆΡ‚ΠΎ Π΅ Π²ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ.conf Π·Π° Π΄Π° ја тСстирам ΠΌΠΎΡ˜Π°Ρ‚Π° Ρ…ΠΈΠΏΠΎΡ‚Π΅Π·Π° Π΄Π΅ΠΊΠ° сС ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΠΌΠ΅ со ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ΅Π½ господар. Но, Ρ‚ΠΎΠ³Π°Ρˆ само сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Π² со ΠΎΠ²Π° ΠΈ Π½Π΅ ΠΌΠΈ Ρ‚Π΅ΠΊΠ½Π°, ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΎΠ² Π΄Π΅ΠΊΠ° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° заостанува ΠΈ ќС Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π½Π°ΠΏΠΎΠ»Π½ΠΈ, односно Π½Π΅ΠΊΠ°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π² Π±Π΅Π·Π³Ρ€ΠΈΠΆΠ½ΠΎ. Ова бСшС ΠΌΠΎΡ˜ΠΎΡ‚ Π·Π³Π»ΠΎΠ±.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ПослС 30 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ вСќС дојдС Π°Π΄ΠΌΠΈΠ½ΠΎΡ‚, Ρ‚.Π΅ Π³ΠΎ рСстартирав Patroni Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°. Π’Π΅ΡœΠ΅ ставив ΠΊΡ€Π°Ρ˜, мислСв Π΄Π΅ΠΊΠ° ќС Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈ. И си помислив - ќС Π³ΠΎ рСстартирам ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ, ΠΌΠΎΠΆΠ΅Π±ΠΈ ќС испаднС Π½Π΅ΡˆΡ‚ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ. Π—Π°ΠΊΡ€Π΅ΠΏΠ½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°. И Π±Π°Π·Π°Ρ‚Π° Π΄ΡƒΡ€ΠΈ сС ΠΎΡ‚Π²ΠΎΡ€ΠΈ, бСшС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° Π΄Π° ΠΏΡ€ΠΈΡ„Π°Ρ‚ΠΈ врски.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π½Π°. Но, Π΅Π΄Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Π° ΠΏΠΎΠ΄ΠΎΡ†Π½Π°, Ρ‚Π°Π° ΠΏΠ°Π΄Π½Π° со Π³Ρ€Π΅ΡˆΠΊΠ° Π΄Π΅ΠΊΠ° Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° трансакции Π½Π΅ сС соодвСтни Π·Π° Π½Π΅Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

МислСв Π΄Π΅ΠΊΠ° ќС рСстартирам ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ. ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π³ΠΎ рСстартирав Patroni ΠΈ Π½Π΅ Π³ΠΎ рСстартирав Postgres, Ρ‚ΡƒΠΊΡƒ Π³ΠΎ рСстартирав Patroni со Π½Π°Π΄Π΅ΠΆ Π΄Π΅ΠΊΠ° ΠΌΠ°Π³ΠΈΡ‡Π½ΠΎ ќС ја стартува Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΈΡ‚Π΅ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакциитС Π±Π΅Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ, Ρ‚ΠΈΠ΅ Π½Π΅ Π±Π΅Π° исти ΠΊΠ°ΠΊΠΎ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΠΎΡ‚ ΠΎΠ±ΠΈΠ΄ Π·Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ. Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ прСстана. А ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° вСќС бСшС ΠΌΠ°Π»ΠΊΡƒ ΠΏΠΎΠΈΠ½Π°ΠΊΠ²Π°. И Π½Π΅ ΠΌΠΈ бСшС ΠΌΠ½ΠΎΠ³Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Ρ‚ΠΎΠ³Π°Ρˆ ΠΌΠΈ Ρ‚Π΅ΠΊΠ½ΡƒΠ²Π° - ΡˆΡ‚ΠΎ Π°ΠΊΠΎ Π³ΠΎ рСстартирам Postgres, Π²ΠΎ ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π°ΠΏΡ€Π°Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Π½ ΠΏΡƒΠ½ΠΊΡ‚ Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ господар Π·Π° Π΄Π° ја помСстам Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π½Π° трансакции ΠΌΠ°Π»ΠΊΡƒ Π½Π°Π½Π°ΠΏΡ€Π΅Π΄ Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ ΠΎΠΏΠΎΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ ΠΌΠΎΠΌΠ΅Π½Ρ‚? ΠŸΠ»ΡƒΡ, сè ΡƒΡˆΡ‚Π΅ ΠΈΠΌΠ°Π²ΠΌΠ΅ Π·Π°Π»ΠΈΡ…ΠΈ Π½Π° WAL.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π“ΠΎ рСстартирав Patroni, Π½Π°ΠΏΡ€Π°Π²ΠΈΠ² Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠ°Ρ˜ΡΡ‚ΠΎΡ€ΠΎΡ‚, Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° ΠΊΠΎΠ³Π° сС ΠΎΡ‚Π²ΠΎΡ€ΠΈ. И ΠΏΠΎΠΌΠΎΠ³Π½Π°. Π”ΠΎΠ»Π³ΠΎ размислував Π·ΠΎΡˆΡ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΈ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°. И Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π½Π°. И Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° повСќС Π½Π΅ бСшС искината.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Π’Π°ΠΊΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΌΠ΅Π½Π΅ Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ помистСриознитС, ΠΎΠΊΠΎΠ»Ρƒ кој сè ΡƒΡˆΡ‚Π΅ сС Π·Π°Π³Π°Ρ‚ΠΊΠ° ΡˆΡ‚ΠΎ навистина сС случило Ρ‚Π°ΠΌΡƒ.

Кои сС ΠΈΠΌΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΎΠ²Π΄Π΅? ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ спорСд ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ. Но, Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, ΠΎΠ²Π° Π½Π΅ Π΅ 100% Π³Π°Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π΄Π΅ΠΊΠ° сè Π΅ Π²ΠΎ Ρ€Π΅Π΄ со нас. Π Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡ‡Π½Π΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π²ΠΎ ΠΏΠΎΠ»ΡƒΡ€Π°Π±ΠΎΡ‚Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°, Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ со Ρ‚Π°ΠΊΠ²Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, бидСјќи ќС ΠΈΠΌΠ° стари ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

И послС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, сСкогаш Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ сè Π΅ Π²ΠΎ Ρ€Π΅Π΄ со кластСрот, односно ΠΈΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΠΎΡ‚ Π±Ρ€ΠΎΡ˜ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Π½Π΅ΠΌΠ° Π·Π°Π΄ΠΎΡ†Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

И Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΏΠΎΠΌΠΈΠ½ΡƒΠ²Π°ΠΌΠ΅ Π½ΠΈΠ· ΠΎΠ²ΠΈΠ΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°, јас ќС Π΄Π°Π΄Π°ΠΌ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°ΠΊΠΈ. Π‘Π΅ ΠΎΠ±ΠΈΠ΄ΠΎΠ² Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΠΌ Π²ΠΎ Π΄Π²Π° слајдови. Π’Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ, ситС ΠΏΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ Π΄Π° сС ΡΠΏΠΎΡ˜Π°Ρ‚ Π²ΠΎ Π΄Π²Π° слајдови ΠΈ само Π΄Π° сС раскаТат.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Кога користитС Patroni, ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. БСкогаш Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ³Π° сС случило автоматско ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΡšΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, бидСјќи Π°ΠΊΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ Π΄Π΅ΠΊΠ° стС ΠΈΠΌΠ°Π»Π΅ автоматско ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΡšΠ΅, Π½Π΅ΠΌΠ°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π²Ρ€Π· кластСрот. И Ρ‚ΠΎΠ° Π΅ лошо.

По сСкоја Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, сСкогаш ΠΌΠΎΡ€Π°ΠΌΠ΅ Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠ΅ кластСрот. Π’Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΠΎΠ³Ρ€ΠΈΠΆΠΈΠΌΠ΅ сСкогаш Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ Π±Ρ€ΠΎΡ˜ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Π΄Π° Π½Π΅ΠΌΠ° Π·Π°Π΄ΠΎΡ†Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°, Π΄Π° Π½Π΅ΠΌΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° стриминг, со Patroni, со систСмот DCS.

ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Patroni Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€Π° Π°Π»Π°Ρ‚ΠΊΠ°. МоТС Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π½ΠΎ Ρ‚ΠΎΠ° Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ кластСрот Π΄ΠΎ посакуваната ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°. И Π°ΠΊΠΎ Π½Π΅ Π΄ΠΎΠ·Π½Π°Π΅ΠΌΠ΅ Π·Π° Ρ‚ΠΎΠ°, ќС Π±ΠΈΠ΄Π΅ΠΌΠ΅ Π²ΠΎ нСволја.

И ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π½Π΅ Π΅ срСбрСн ΠΊΡƒΡ€ΡˆΡƒΠΌ. Π‘Γ¨ ΡƒΡˆΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Postgres, ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ ΠΊΠ°ΠΊΠΎ Patroni Ρ€Π°Π±ΠΎΡ‚ΠΈ со Postgres ΠΈ ΠΊΠ°ΠΊΠΎ сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Ρ˜Π°Π·Π»ΠΈΡ‚Π΅. Ова Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ со Π²Π°ΡˆΠΈΡ‚Π΅ Ρ€Π°Ρ†Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Како Π΄Π° ΠΌΡƒ пристапам Π½Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅Ρ‚ΠΎ Π·Π° дијагноза? Π‘Π΅ случи Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ никој Π΄Π° Π½Π΅ΠΌΠ° ELK стСк, Π° Π½ΠΈΠ΅ ΠΌΠΎΡ€Π° Π΄Π° Π³ΠΈ срСдимС Π»ΠΎΠ³ΠΎΠ²ΠΈΡ‚Π΅ со ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ 6 ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ ΠΈ 2 Ρ˜Π°Π·ΠΈΡ‡ΠΈΡšΠ°. Π’ΠΎ Π΅Π΄Π½ΠΎΡ‚ΠΎ Ρ˜Π°Π·ΠΈΡ‡Π΅, ΠΎΠ²Π° сС Π»ΠΎΠ³ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° Patroni Π·Π° сСкој јазол, Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΎΡ‚ Ρ‚Π°Π±, ΠΎΠ²Π° сС Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Π·ΡƒΠ»ΠΎΡ‚ ΠΈΠ»ΠΈ Postgres Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ. ΠœΠ½ΠΎΠ³Ρƒ Π΅ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС Π΄ΠΈΡ˜Π°Π³Π½ΠΎΡΡ‚ΠΈΡ†ΠΈΡ€Π° ΠΎΠ²Π°.

Какви пристапи ΠΏΡ€Π΅Π·Π΅Π΄ΠΎΠ²? ΠŸΡ€Π²ΠΎ, сСкогаш Π³Π»Π΅Π΄Π°ΠΌ ΠΊΠΎΠ³Π° ќС пристигнат Ρ„Π°Ρ˜Π»Π΅Ρ€ΠΎΡ‚. И Π·Π° ΠΌΠ΅Π½Π΅ ΠΎΠ²Π° Π΅ слив. Π“Π»Π΅Π΄Π°ΠΌ ΡˆΡ‚ΠΎ сС случило ΠΏΡ€Π΅Π΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΈ ΠΏΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. ΠŸΡ€Π΅Π³Π»Π΅Π΄ΠΎΡ‚ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠΌΠ° Π΄Π²Π΅ ΠΎΠ·Π½Π°ΠΊΠΈ: ΠΎΠ²Π° Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊ ΠΈ ΠΊΡ€Π°Ρ˜.

Π‘Π»Π΅Π΄Π½ΠΎ, Π±Π°Ρ€Π°ΠΌ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° настани ΠΏΡ€Π΅Π΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΊΠΎΠΈ ΠΌΡƒ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π΅Π»Π΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, односно Π³ΠΈ Π±Π°Ρ€Π°ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ Π·ΠΎΡˆΡ‚ΠΎ сС случил Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°.

И ΠΎΠ²Π° Π΄Π°Π²Π° слика Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ сС случило ΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π° Π·Π° Π΄Π° Π½Π΅ сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ Ρ‚Π°ΠΊΠ²ΠΈ околности (ΠΈ ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, Π½Π΅ΠΌΠ° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°).

И ΠΊΠ°Π΄Π΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅? Π“Π»Π΅Π΄Π°ΠΌ:

  • ΠŸΡ€Π²ΠΎ, Π΄ΠΎ Ρ‚Ρ€ΡƒΠΏΡ†ΠΈΡ‚Π΅ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ.
  • Π‘Π»Π΅Π΄Π½ΠΎ, Π³ΠΈ Π³Π»Π΅Π΄Π°ΠΌ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Postgres, ΠΈΠ»ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° DCS, Π²ΠΎ зависност ΠΎΠ΄ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Π½ΠΎ Π²ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Patroni.
  • И систСмскитС Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ, исто Ρ‚Π°ΠΊΠ°, понСкогаш Π΄Π°Π²Π°Π°Ρ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ Π·Π° Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π»ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

Како сС чувствувам Π·Π° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ? Имам ΠΌΠ½ΠΎΠ³Ρƒ Π΄ΠΎΠ±Ρ€ΠΈ односи со ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½Π΅, ΠΎΠ²Π° Π΅ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΎΡ‚ΠΎ ΡˆΡ‚ΠΎ постои дСнСс. Π—Π½Π°ΠΌ ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ. Π’ΠΎΠ° сС Stolon, Repmgr, Pg_auto_failover, PAF. 4 Π°Π»Π°Ρ‚ΠΊΠΈ. Π“ΠΈ ΠΏΡ€ΠΎΠ±Π°Π² ситС. ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ΠΌΠΈ Π΅ ΠΎΠΌΠΈΠ»Π΅Π½.

Ако ΠΌΠ΅ ΠΏΡ€Π°ΡˆΠ°Π°Ρ‚: β€žΠ”Π°Π»ΠΈ Π³ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ?β€œ. ЌС ΠΊΠ°ΠΆΠ°ΠΌ Π΄Π°, Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ΠΌΠΈ сС Π΄ΠΎΠΏΠ°Ρ“Π° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ. И мислам Π΄Π΅ΠΊΠ° Π½Π°ΡƒΡ‡ΠΈΠ² ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ Π³ΠΎΡ‚Π²Π°ΠΌ.

Ако стС заинтСрСсирани Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠΌΠ° со Patroni, освСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π³ΠΈ спомСнав, сСкогаш ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ страницата ΠΏΡ€Π°ΡˆΠ°ΡšΠ° Π½Π° GitHub. Има ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Π½ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ интСрСсни ΠΏΡ€Π°ΡˆΠ°ΡšΠ° сС дискутираат Ρ‚Π°ΠΌΡƒ. И ΠΊΠ°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, Π½Π΅ΠΊΠΎΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π±Π΅Π° Π²ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈ, односно, ΠΎΠ²Π° Π΅ интСрСсно Ρ‡ΠΈΡ‚Π°ΡšΠ΅.

Има Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ интСрСсни ΠΏΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° Π»ΡƒΡ“Π΅ ΠΊΠΎΠΈ си ΠΏΡƒΠΊΠ°Π°Ρ‚ Π²ΠΎ Π½ΠΎΠ³Π°. ΠœΠ½ΠΎΠ³Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ. Π§ΠΈΡ‚Π°Ρ‚Π΅ ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ Π΄Π΅ΠΊΠ° Ρ‚ΠΎΠ° Π½Π΅ Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ. Π‘Π΅ ΡˆΡ‚ΠΈΠΊΠ»ΠΈΡ€Π°Π².

И Π±ΠΈ сакал Π΄Π° ΠΌΡƒ ΠΊΠ°ΠΆΠ°ΠΌ Π³ΠΎΠ»Π΅ΠΌΠ° благодарност Π½Π° Π—Π°Π»Π°Π½Π΄ΠΎ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΠΌΠ΅Π½ΠΎ Π½Π° АлСксандар ΠšΡƒΠΊΡƒΡˆΠΊΠΈΠ½ ΠΈ АлСксСј ΠšΡ™ΡƒΠΊΠΈΠ½. АлСксСј ΠšΡ™ΡƒΠΊΠΈΠ½ Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΊΠΎΠ°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅, Ρ‚ΠΎΡ˜ повСќС Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Π—Π°Π»Π°Π½Π΄ΠΎ, Π½ΠΎ Ρ‚ΠΎΠ° сС Π΄Π²Π°Ρ˜Ρ†Π° Π»ΡƒΡ“Π΅ ΠΊΠΎΠΈ ΠΏΠΎΡ‡Π½Π°Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со овој ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄.

И мислам Π΄Π΅ΠΊΠ° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΡƒΠ» Ρ€Π°Π±ΠΎΡ‚Π°. Π‘Ρ€Π΅ΡœΠ΅Π½ сум ΡˆΡ‚ΠΎ постои, интСрСсно Π΅ со Π½Π΅Π°. И Π³ΠΎΠ»Π΅ΠΌΠ° благодарност Π΄ΠΎ ситС соработници ΠΊΠΎΠΈ ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π·Π°ΠΊΡ€ΠΏΠΈ Π½Π° Patroni. Π‘Π΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ ќС станС ΠΏΠΎΠ·Ρ€Π΅Π», ΠΏΠΎΠΊΡƒΠ» ΠΈ поСфикасСн со Π³ΠΎΠ΄ΠΈΠ½ΠΈΡ‚Π΅. Π’Π΅ΡœΠ΅ Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, Π½ΠΎ сС Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° ќС станС ΡƒΡˆΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π°Ρ€. Π—Π°Ρ‚ΠΎΠ°, Π°ΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ Π΄Π° користитС Patroni, Ρ‚ΠΎΠ³Π°Ρˆ Π½Π΅ ΠΏΠ»Π°ΡˆΠ΅Ρ‚Π΅ сС. Ова Π΅ Π΄ΠΎΠ±Ρ€ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΈ користи.

Π’ΠΎΠ° Π΅ сС. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°, ΠΏΡ€Π°ΡˆΠ°Ρ˜Ρ‚Π΅.

ΠŸΡ€ΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° нСуспСх Π½Π° Patroni ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΡΡ€ΡƒΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр PostgreSQL. АлСксСј ЛСсовски

ΠΏΡ€Π°ΡˆΠ°ΡšΠ°

Π’ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌΠ΅ Π·Π° ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ΠΎΡ‚! Ако ΠΏΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° сè ΡƒΡˆΡ‚Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Ρ‚Π°ΠΌΡƒ ΠΌΠ½ΠΎΠ³Ρƒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ, Ρ‚ΠΎΠ³Π°Ρˆ Π·ΠΎΡˆΡ‚ΠΎ Π½ΠΈ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ автоматски Ρ„Π°Ρ˜Π»Π΅Ρ€?

Π—Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Ρ‚ΠΎΠ° Π΅ Π½ΠΎΠ²Π° Ρ€Π°Π±ΠΎΡ‚Π°. Π‘ΠΎ Π½Π΅Π° смС само Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°. ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π΄Π° сС Π±ΠΈΠ΄Π΅ Π±Π΅Π·Π±Π΅Π΄Π΅Π½. Π‘Π°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π²Π»Π΅Π·Π΅ΠΌΠ΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° навистина сè Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π°. Ова Π΅ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° Π½Π΅Π΄ΠΎΠ²Π΅Ρ€Π±Π° Π½Π° возраснитС - ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ ΠΈ Π΄Π° сС Π²ΠΈΠ΄ΠΈ.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π½Π°ΡƒΡ‚Ρ€ΠΎ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Π²ΠΌΠ΅, Π½Π΅Π»ΠΈ?

НС Π½Π°ΡƒΡ‚Ρ€ΠΎ, ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΡƒΡ‡ΠΈΠΌΠ΅ Π·Π° Π°Π²Ρ‚ΠΎ-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° рСчиси вСднаш. Π”ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΈΠ·Π²Π΅ΡΡ‚ΡƒΠ²Π°ΡšΠ°, Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° сС појави автоматска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. РСчиси вСднаш ΠΎΠ΄ΠΈΠΌΠ΅ ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅. Но, ситС ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Ако пристапитС Π΄ΠΎ Patroni ΠΏΡ€Π΅ΠΊΡƒ REST API, постои ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅ врСмСнскитС ΠΎΠ·Π½Π°ΠΊΠΈ ΠΊΠΎΠ³Π° сС случил Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. Π’Ρ€Π· основа Π½Π° ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π°, ΠΊΠΎΠ»ΠΊΡƒ настани ΠΈΠΌΠ°Π»ΠΎ Ρ‚Π°ΠΌΡƒ. Ако ΠΈΠΌΠ°ΠΌΠ΅ повСќС настани, Ρ‚ΠΎΠ³Π°Ρˆ сС појавила автоматска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅. Или Π½Π°ΡˆΠ°Ρ‚Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π·Π° слСдСњС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ Π΄Π°Π»ΠΈ Π³ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ситС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° мСсто, Π½Π΅ΠΌΠ° Π·Π°ΠΎΡΡ‚Π°Π½ΡƒΠ²Π°ΡšΠ΅ ΠΈ сС Π΅ Π²ΠΎ Ρ€Π΅Π΄.

Π’ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌΠ΅!

Π’ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ Π·Π° ΠΎΠ΄Π»ΠΈΡ‡Π½Π°Ρ‚Π° ΠΏΡ€ΠΈΠΊΠ°Π·Π½Π°! Ако Π³ΠΎ прСмСстивмС кластСрот DCS Π½Π΅ΠΊΠ°Π΄Π΅ Π΄Π°Π»Π΅ΠΊΡƒ ΠΎΠ΄ кластСрот Postgres, Ρ‚ΠΎΠ³Π°Ρˆ ΠΈ овој кластСр Ρ‚Ρ€Π΅Π±Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π΄Π° сС сСрвисира? Кои сС Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΡˆΡ‚ΠΎ Π½Π΅ΠΊΠΎΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ кластСрот DCS Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС исклучат, Π½Π΅ΡˆΡ‚ΠΎ Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ со Π½ΠΈΠ² ΠΈΡ‚Π½.? Како ΠΎΠΏΡΡ‚ΠΎΡ˜ΡƒΠ²Π° Ρ†Π΅Π»Π°Ρ‚Π° ΠΎΠ²Π°Π° структура? И ΠΊΠ°ΠΊΠΎ Π³ΠΈ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ?

Π—Π° Π΅Π΄Π½Π° компанија бСшС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΡˆΡ‚ΠΎ ќС сС случи Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΏΠ°Π΄Π½Π΅ Π΅Π΄Π½Π° ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΎΠ²Π°Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, Π½ΠΈΠ΅ послСдоватСлно Π³ΠΈ ΠΏΠΎΠΌΠΈΠ½ΡƒΠ²Π°ΠΌΠ΅ ситС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΈ Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π° Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ‚ΠΎΠ°, Π·Π° сСкоС сцСнарио Π·Π° нСуспСх, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π°ΠΊΡ†ΠΈΠΎΠ½Π΅Π½ ΠΏΠ»Π°Π½ Π·Π° Π·Π°ΠΊΡ€Π΅ΠΏΠ½ΡƒΠ²Π°ΡšΠ΅. А Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ΠΎΡ‚ со DCS, Ρ‚ΠΎΡ˜ Π΄ΠΎΠ°Ρ“Π° ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ стандардната инфраструктура. И администраторот Π³ΠΎ администрира, Π° Π½ΠΈΠ΅ вСќС сС ΠΏΠΎΡ‚ΠΏΠΈΡ€Π°ΠΌΠ΅ Π½Π° администраторитС ΠΊΠΎΠΈ Π³ΠΎ администрираат ΠΈ Π½ΠΈΠ²Π½Π°Ρ‚Π° способност Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²Π°Ρ‚ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° Π½Π΅ΡΡ€Π΅ΡœΠΈ. Ако Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ΠΌΠ° DCS, Ρ‚ΠΎΠ³Π°Ρˆ Π³ΠΎ распорСдувамС, Π½ΠΎ Π²ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ Π³ΠΎ слСдимС особСно, бидСјќи Π½Π΅ смС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° инфраструктурата, Ρ‚ΡƒΠΊΡƒ Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΊΠ°ΠΊΠΎ ΠΈ ΡˆΡ‚ΠΎ Π΄Π° слСдимС.

Односно, Π΄Π°Π»ΠΈ Π΄ΠΎΠ±Ρ€ΠΎ Ρ€Π°Π·Π±Ρ€Π°Π² Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ°ΠΌ Patroni, Π΄Π° Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ°ΠΌ Ρ„Π°Ρ˜Π»Π΅Ρ€ΠΎΡ‚, Π΄Π° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ°ΠΌ сè ΠΏΡ€Π΅Π΄ Π΄Π° Π½Π°ΠΏΡ€Π°Π²Π°ΠΌ Π½Π΅ΡˆΡ‚ΠΎ со хостовитС?

Зависи ΠΎΠ΄ Ρ‚ΠΎΠ° ΠΊΠΎΠ»ΠΊΡƒ јазли ΠΈΠΌΠ°ΠΌΠ΅ Π²ΠΎ кластСрот DCS. Ако ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ јазли ΠΈ Π°ΠΊΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΠΌΠ΅ само Π΅Π΄Π΅Π½ ΠΎΠ΄ Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ (Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°), Ρ‚ΠΎΠ³Π°Ρˆ кластСрот ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° ΠΊΠ²ΠΎΡ€ΡƒΠΌ. И ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ останува Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°. И Π½ΠΈΡˆΡ‚ΠΎ Π½Π΅ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°. Ако ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ΠΊΠΎΠΈ слоТСни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΈ Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° повСќС јазли, Ρ‡ΠΈΠ΅ отсуство ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΡƒΠ½ΠΈΡˆΡ‚ΠΈ ΠΊΠ²ΠΎΡ€ΡƒΠΌΠΎΡ‚, Ρ‚ΠΎΠ³Π°Ρˆ - Π΄Π°, ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΈΠΌΠ° смисла Π΄Π° сС стави ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π½Π° ΠΏΠ°ΡƒΠ·Π°. Има соодвСтна ΠΊΠΎΠΌΠ°Π½Π΄Π° - patronictl ΠΏΠ°ΡƒΠ·Π°, patronictl Ρ€Π΅Π·ΠΈΠΌΠ΅. Π‘Π°ΠΌΠΎ ΠΏΠ°ΡƒΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΈ автоматскиот ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°Ρ‡ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Ρ‚ΠΎΠ° Π²Ρ€Π΅ΠΌΠ΅. ΠŸΡ€Π°Π²ΠΈΠΌΠ΅ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° кластСрот DCS, ΠΏΠΎΡ‚ΠΎΠ° ја Ρ‚Ρ€Π³Π°ΠΌΠ΅ ΠΏΠ°ΡƒΠ·Π°Ρ‚Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π°ΠΌΠ΅ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ΠΌΠ΅.

Π’ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π°ΠΌ ΠΌΠ½ΠΎΠ³Ρƒ!

Π’ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ Π·Π° Π²Π°ΡˆΠΈΠΎΡ‚ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜! Како сС чувствува Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ Π·Π° ΠΈΠ·Π³ΡƒΠ±Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ?

На Ρ‚ΠΈΠΌΠΎΠ²ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ Π½Π΅ ΠΈΠΌ Π΅ Π³Ρ€ΠΈΠΆΠ°, Π° Π»ΠΈΠ΄Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΈΠΌΠΎΡ‚ сС Π·Π°Π³Ρ€ΠΈΠΆΠ΅Π½ΠΈ.

Какви Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚?

Π“Π°Ρ€Π°Π½Ρ†ΠΈΠΈΡ‚Π΅ сС ΠΌΠ½ΠΎΠ³Ρƒ Ρ‚Π΅ΡˆΠΊΠΈ. АлСксандар ΠšΡƒΠΊΡƒΡˆΠΊΠΈΠ½ ΠΈΠΌΠ° ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜ β€žΠšΠ°ΠΊΠΎ Π΄Π° сС прСсмСтаат RPO ΠΈ RTOβ€œ, Ρ‚.Π΅. Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅. Мислам Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ најдСмС ΠΎΠ²ΠΈΠ΅ слајдови ΠΈ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΡƒΡ‡ΠΈΠΌΠ΅. ΠšΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ сС сСќавам, ΠΈΠΌΠ° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Ρ‡Π΅ΠΊΠΎΡ€ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° сС прСсмСтаат ΠΎΠ²ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ. ΠšΠΎΠ»ΠΊΡƒ трансакции ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅, ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌΠ΅. Како ΠΎΠΏΡ†ΠΈΡ˜Π°, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° користимС синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Patroni, Π½ΠΎ ΠΎΠ²Π° Π΅ ΠΌΠ΅Ρ‡ со Π΄Π²Π΅ острици: ΠΈΠ»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ довСрливост Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, ΠΈΠ»ΠΈ Π³ΡƒΠ±ΠΈΠΌΠ΅ Π±Ρ€Π·ΠΈΠ½Π°. ΠŸΠΎΡΡ‚ΠΎΠΈ синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, Π½ΠΎ исто Ρ‚Π°ΠΊΠ° Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° 100% Π·Π°ΡˆΡ‚ΠΈΡ‚Π° ΠΎΠ΄ Π³ΡƒΠ±Π΅ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

АлСксСј, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π°ΠΌ Π·Π° ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΈΠΎΡ‚ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜! Π˜ΠΌΠ°Ρ‚Π΅ искуство со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Patroni Π·Π° Π·Π°ΡˆΡ‚ΠΈΡ‚Π° Π½Π° Π½ΡƒΠ»Π° Π½ΠΈΠ²ΠΎ? Π’ΠΎΠ° Π΅, Π²ΠΎ врска со синхроно ΠΌΠΈΡ€ΡƒΠ²Π°ΡšΠ΅? Ова Π΅ ΠΏΡ€Π²ΠΎΡ‚ΠΎ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅. И Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅. Π‘Ρ‚Π΅ користСлС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°. Π“ΠΎ користСвмС Repmgr, Π½ΠΎ Π±Π΅Π· автоматско ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°ΡšΠ΅, Π° сСга ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ Π²ΠΊΠ»ΡƒΡ‡ΠΈΠΌΠ΅ ΠΈ Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»Π΅Ρ€ΠΎΡ‚. А ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ Π³ΠΎ смСтамС Π·Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π¨Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ прСдности Π²ΠΎ спорСдба со Repmgr?

ΠŸΡ€Π²ΠΎΡ‚ΠΎ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅ бСшС Π·Π° синхрони Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Никој Π½Π΅ користи синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΎΠ²Π΄Π΅, бидСјќи ситС сС исплашСни (Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ вСќС Π³ΠΎ користат, Π²ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, Ρ‚ΠΈΠ΅ Π½Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ°Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ со ΠΈΠ·Π²Π΅Π΄Π±Π°Ρ‚Π° - Π—Π°Π±Π΅Π»Π΅ΡˆΠΊΠ° Π½Π° Π³ΠΎΠ²ΠΎΡ€Π½ΠΈΠΊΠΎΡ‚). Но, Π½ΠΈΠ΅ Π·Π° сСбС Ρ€Π°Π·Π²ΠΈΠ²ΠΌΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΄Π΅ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠ° Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ Ρ‚Ρ€ΠΈ јазли Π²ΠΎ кластСрот Π·Π° синхрона Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, бидСјќи Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π° јазли ΠΈ Π°ΠΊΠΎ мастСрот ΠΈΠ»ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° Π½Π΅ успСат, Ρ‚ΠΎΠ³Π°Ρˆ Patroni Π³ΠΎ ΠΏΡ€Π΅Ρ„Ρ€Π»Π° овој јазол Π²ΠΎ самостоСн Ρ€Π΅ΠΆΠΈΠΌ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, постои Ρ€ΠΈΠ·ΠΈΠΊ ΠΎΠ΄ Π³ΡƒΠ±Π΅ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Π’ΠΎ однос Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅, Π½ΠΈΠ΅ користСвмС Repmgr ΠΈ сè ΡƒΡˆΡ‚Π΅ Π³ΠΎ користимС со Π½Π΅ΠΊΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΎΠ΄ историски ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ. Π¨Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΠ°ΠΆΠ΅? Patroni Π΄ΠΎΠ°Ρ“Π° со автоматско ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π°, Repmgr Π΄ΠΎΠ°Ρ“Π° со автоматско ΠΏΠΎΠΏΠΎΠ»Π½ΡƒΠ²Π°ΡšΠ΅ ΠΊΠ°ΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ. Π’Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½ΠΎΡ‚ Repmgr Π½Π° сСкој јазол ΠΈ ΠΏΠΎΡ‚ΠΎΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»Π΅Ρ€ΠΎΡ‚.

Repmgr ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Postgres Ρ˜Π°Π·Π»ΠΈΡ‚Π΅ сС ΠΆΠΈΠ²ΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΠΈΡ‚Π΅ Repmgr Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΡΡ‚ΠΎΠ΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π½ΠΈ со Π΄Ρ€ΡƒΠ³ΠΈ, ΠΎΠ²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ СфикасСн пристап. ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° слоТСни случаи Π½Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π²ΠΎ ΠΊΠΎΠΈ Π³ΠΎΠ»Π΅ΠΌ кластСр Repmgr ΠΌΠΎΠΆΠ΅ Π΄Π° сС распаднС Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎΠΌΠ°Π»ΠΈ ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. Одамна Π½Π΅ Π³ΠΎ слСдам Repmgr, ΠΌΠΎΠΆΠ΅Π±ΠΈ сС срСди ... ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π΅. Но, ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кластСрот Π²ΠΎ DCS, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ‚ΠΎΠ° Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ Π‘Ρ‚ΠΎΠ»ΠΎΠ½, ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ, Π΅ Π½Π°Ρ˜ΠΎΡΡ‚Π²Π°Ρ€Π»ΠΈΠ²Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π°.

АлСксСј, ΠΈΠΌΠ°ΠΌ Π΅Π΄Π½ΠΎ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅, ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΏΠΎΠ±Π°Π²Π½ΠΎ. Π’ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΏΡ€Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, Π³ΠΎ прСмСстивтС DCS ΠΎΠ΄ Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° машина Π½Π° ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ домаќин. НиС Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΡˆΡ‚ΠΎ ΠΈΠΌΠ° свои карактСристики, ΠΆΠΈΠ²Π΅Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡ˜Π½ΠΎ. И ΡˆΡ‚ΠΎ сС случува Π°ΠΊΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ нСкоја ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° кластСрот DCS станС нСдостапСн? НСма Π΄Π° Π³ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ: ΠΎΠ΄ искривСни Ρ€Π°Ρ†Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ½ΠΈ Π΄ΠΎ вистински ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

НС Π³ΠΎ ΠΊΠ°ΠΆΠ°Π² Ρ‚ΠΎΠ° гласно, Π½ΠΎ ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΈ кластСрот DCS кој Π΅ отстапСн, односно Ρ‚ΠΎΠ° Π΅ Π½Π΅ΠΏΠ°Ρ€Π΅Π½ Π±Ρ€ΠΎΡ˜ Π½Π° јазли, Π·Π° Π΄Π° сС постигнС ΠΊΠ²ΠΎΡ€ΡƒΠΌ. Π¨Ρ‚ΠΎ ќС сС случи Π°ΠΊΠΎ кластСрот DCS станС нСдостапСн ΠΈΠ»ΠΈ Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС исполни ΠΊΠ²ΠΎΡ€ΡƒΠΌ, Ρ‚.Π΅. нСкој Π²ΠΈΠ΄ ΠΌΡ€Π΅ΠΆΠ½Π° ΠΏΠΎΠ΄Π΅Π»Π±Π° ΠΈΠ»ΠΈ нСуспСх Π½Π° јазол? Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, кластСрот Patroni ΠΎΠ΄ΠΈ Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅. ΠŸΠ°Ρ‚Ρ€ΠΎΠ½ΠΈ кластСрот Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΎΠ΄Ρ€Π΅Π΄ΠΈ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кластСрот ΠΈ ΡˆΡ‚ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈ. НС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ€Π° со DCS ΠΈ Π΄Π° ја складира Π½ΠΎΠ²Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° кластСрот Ρ‚Π°ΠΌΡƒ, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ†Π΅Π»ΠΈΠΎΡ‚ кластСр ΠΎΠ΄ΠΈ Π²ΠΎ само Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅. И Ρ‡Π΅ΠΊΠ° ΠΈΠ»ΠΈ Ρ€Π°Ρ‡Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π΅Π½Ρ†ΠΈΡ˜Π° ΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ ΠΈΠ»ΠΈ DCS Π΄Π° сС ΠΎΠΏΠΎΡ€Π°Π²ΠΈ.

Π“Ρ€ΡƒΠ±ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, DCS станува услуга Π·Π° нас исто Ρ‚ΠΎΠ»ΠΊΡƒ Π²Π°ΠΆΠ½Π° ΠΊΠ°ΠΊΠΎ ΠΈ самата Π±Π°Π·Π°?

Π”Π° Π”Π°. Π’ΠΎ Ρ‚ΠΎΠ»ΠΊΡƒ ΠΌΠ½ΠΎΠ³Ρƒ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Service Discovery Π΅ составСн Π΄Π΅Π» ΠΎΠ΄ инфраструктурата. Π‘Π΅ спровСдува ΡƒΡˆΡ‚Π΅ ΠΏΡ€Π΅Π΄ Π΄Π° ΠΈΠΌΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ инфраструктурата. Π Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, инфраструктурата бСшС лансирана, распорСдСна Π²ΠΎ DC ΠΈ вСднаш ΠΈΠΌΠ°ΠΌΠ΅ Service Discovery. Ако Π΅ ΠΊΠΎΠ½Π·ΡƒΠ», Ρ‚ΠΎΠ³Π°Ρˆ Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ DNS. Ако ΠΎΠ²Π° Π΅ Etcd, Ρ‚ΠΎΠ³Π°Ρˆ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π΄Π΅Π» ΠΎΠ΄ кластСрот Kubernetes, Π²ΠΎ кој сè Π΄Ρ€ΡƒΠ³ΠΎ ќС Π±ΠΈΠ΄Π΅ распорСдСно. Ми сС Ρ‡ΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° Service Discovery Π΅ вСќС составСн Π΄Π΅Π» Π½Π° ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΡ‚Π΅ инфраструктури. И Ρ‚ΠΈΠ΅ размислуваат Π·Π° Ρ‚ΠΎΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΡ€Π°Π½ΠΎ ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ Π·Π° Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Π’ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌΠ΅!

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€