Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž‚αŸ„αž›αžŠαŸ…αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹ Patroni αž‚αžΊαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αžαŸ’αž–αžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ PostgreSQL αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Patroni αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž‚αŸ†αžšαžΌαž˜αž½αž™ αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž… (αžŠαŸ‚αž›αž‡αžΆαž‘αžΌαž‘αŸ…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž“αž·αž™αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš)αŸ” αž“αŸ…αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŠαŸ†αž”αžΌαž„ αžŠαŸ„αž™αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ Patroni αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŸαžΆαž€αž›αŸ’αž”αž„ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαžΉαž„αžαžΆαžœαžΆαž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž˜αž½αž™αžŽαžΆ αž αžΎαž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž…αž„αŸ’αž€αŸ„αž˜αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž•αž›αž·αžαž€αž˜αŸ’αž˜ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž€αžΎαžαž‘αžΎαž„αž™αŸ‰αžΆαž„αžŸαŸ’αžšαžŸαŸ‹αžŸαŸ’αž’αžΆαž αž“αž·αž„αž†αžΎαžαž†αžΆαž™αžŠαžΌαž…αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ„αŸ‡αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αž“αŸ’αžαž·αž…αž’αŸ†αž–αžΈαžαŸ’αž›αž½αž“αžαŸ’αž‰αž»αŸ†αŸ” αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ… Data Egret αžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 2014αŸ” αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΉαž€αŸ’αžŸαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αžŸαŸαž™ Postgres αŸ” αž αžΎαž™αž™αžΎαž„αž”αž˜αŸ’αžšαžΎ Postgres αž™αŸ‰αžΆαž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ αž αžΎαž™αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ Postgres αž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αžαŸ’αž„αŸƒ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž˜αžΆαž“αž‡αŸ†αž“αžΆαž‰αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”

αž αžΎαž™αž“αŸ…αž…αž»αž„αž†αŸ’αž“αžΆαŸ† 2018 αž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Patroni αž”αž“αŸ’αžαž·αž…αž˜αŸ’αžαž„αŸ—αŸ” αž αžΎαž™αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαžαŸ’αž›αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αŸ” αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αžšαŸ„αž‚β€‹αžœαž·αž“αž·αž…αŸ’αž†αŸαž™β€‹αžœαžΆ αžŸαž˜αŸ’αžšαž½αž›β€‹αžœαžΆ αž˜αž€β€‹αžŠαž›αŸ‹β€‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžβ€‹αž›αŸ’αž’β€‹αž”αŸ†αž•αž»αžβ€‹αžšαž”αžŸαŸ‹β€‹αž™αžΎαž„αŸ” αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž–αž½αž€αž‚αŸαŸ”

αž€αŸ’αžšαŸ…αž–αžΈ Postgres αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαž›αžΈαž“αž»αž…αŸ” αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαžŠαžΎαžšαž‡αž»αŸ†αžœαž·αž‰αžœαžΆ αž αžΎαž™αžšαž»αž€αžšαž€ αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ’αž“αžΌαž›αŸ” αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαž“αž·αž˜αŸ’αž˜αž·αž, αž’αž»αž„, docker, Kubernetes αŸ” αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαŸ’αž‰αž»αŸ†αž–αŸ’αžšαŸ„αŸ‡αž‘αž˜αŸ’αž›αžΆαž”αŸ‹αž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹adminαž€αŸ†αž–αž»αž„αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ” αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαžšαžΏαž„ Postgres αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž…αž˜αŸ’αž›αž„ αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αŸ” αž αžΎαž™αž“αŸ…αž–αŸαž›αž‘αŸ†αž“αŸαžšαžαŸ’αž‰αž»αŸ†αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ Go αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αžœαž·αžŸαŸ’αžœαž€αžšβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž‘αŸ αžαŸ’αž‰αž»αŸ†β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αžŸαžšαžŸαŸαžšβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž›αž½αž“β€‹αžαŸ’αž‰αž»αŸ†β€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„ Go αŸ” αž αžΎαž™αžœαžΆαž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αž“αžΌαžœαžŸαŸαž…αž€αŸ’αžαžΈαžšαžΈαž€αžšαžΆαž™αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

  • αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž’αŸ’αž“αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αž“αžΆαžŠαžΉαž„αžαžΆ Postgres αž˜αž·αž“αž˜αžΆαž“ HA (High Availability) αž…αŸαž‰αž–αžΈαž”αŸ’αžšαž’αž”αŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“ HA αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αž’αŸ’αžœαžΈαž˜αž½αž™ αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžΆ αžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„ αž“αž·αž„αž‘αž‘αž½αž›αž”αžΆαž“αžœαžΆαŸ”
  • αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™ Patroni αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αž“αŸ„αž˜αž–αž½αž€αž‚αŸαžŠαŸ‚αž›αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ HA αžŸαŸ’αž’αžΆαž αž“αž·αž„αž›αŸ’αž’αžŽαžΆαžŸαŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αž€αžΆαžšαžŠαžΆαž€αŸ‹αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆ αž™αžΎαž„αž’αžΆαž…αžƒαžΎαž‰αžαžΆαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“ αžŸαžΌαž˜αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› Patroni αž”αž˜αŸ’αžšαžΎαž–αž½αž€αž‚αŸαŸ” αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αžαžΆαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αŸ”
  • αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αž αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžˆαž˜β€‹αž“αžΉαž„β€‹αž”αž‰αŸ’αž αžΆβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‚αŸ’αž“αžΆαŸ” αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ”
  • αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž”αŸ’αžšαžΆαž”αŸ‹β€‹αž’αŸ’αž“αž€β€‹αž–αžΈβ€‹αžšαž”αŸ€αž”β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž’αŸ’αžœαžΎβ€‹αžšαŸ„αž‚β€‹αžœαž·αž“αž·αž…αŸ’αž†αŸαž™β€‹αžœαžΆ αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž€αŸ‚β€‹αžŸαž˜αŸ’αžšαž½αž› - αžαžΆβ€‹αžαžΎβ€‹αžœαžΆβ€‹αž”αžΆαž“β€‹αž‡αž½αž™β€‹αž™αžΎαž„β€‹αž¬β€‹αž’αžαŸ‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

  • αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ†αž‘αžΎαž„ Patroni αž‘αŸαž–αŸ’αžšαŸ„αŸ‡αž’αŸ’αž“αž€αž’αžΆαž… google αž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αžšαž”αŸ€αž”αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž™αž›αŸ‹αž–αžΈαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ αžŸαŸ’αžœαŸ‚αž„αžšαž€αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαžœαžΆαž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ”
  • αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαžšαž”αžŸαŸ‹αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž‘αžΎαž™αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž“αž·αž™αžΆαž™β€‹αžαŸ‚β€‹αž–αžΈβ€‹αž”αž‰αŸ’αž αžΆβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž‡αž½αž”αŸ”
  • αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž“αŸ…αž€αŸ’αžšαŸ… Patroni αž“αž·αž„ PostgreSQL αž‘αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžαž»αž›αŸ’αž™αž—αžΆαž– αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αžŠαž½αž›αžšαž›αŸ† αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžœαžΆαž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αž·αž„αž€αžΆαžšαž”αžŠαž·αžŸαŸαž’αžαžΌαž…αž˜αž½αž™αž˜αž»αž“αž–αŸαž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αžŠαŸ‚αž›αž™αžΎαž„αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡ αž™αžΎαž„αž˜αžΆαž“αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ 6-7-8 αžαŸ‚αžŠαŸ†αž”αžΌαž„αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž™αžΌαžšαŸ—αž‘αŸ… αž™αžΎαž„αž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αžαž•αŸ’αž‘αŸƒαž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž αžΎαž™αž”αž‰αŸ’αž αžΆαžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αž”αžΆαžαŸ‹αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž”αŸ’αžšαž αŸ‚αž›αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ‚αž˜αž»αž“ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαžŸαŸ’αžšαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αž”αžΆαž›αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž…αž„αž…αžΆαŸ†αžœαžΆαž™αŸ‰αžΆαž„αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αŸ”

αž€αŸ’αž“αž»αž„β€‹αž–αŸαž›β€‹αžšαŸ€αž”β€‹αž…αŸ†β€‹αžšαž”αžΆαž™β€‹αž€αžΆαžšαžŽαŸβ€‹αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž›αžΎαž€β€‹αž™αž€β€‹αžŸαž–β€‹αž…αžΆαžŸαŸ‹αŸ—β€‹αž˜αž€β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž˜αžΎαž›β€‹αž€αŸ†αžŽαžαŸ‹β€‹αž αŸαžαž»αŸ” αž αžΎαž™αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαžαŸ’αž›αŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ†αž—αŸ’αž›αŸαž…αž…αŸ„αž› αž¬αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαžαŸ’αž›αŸ‡αž˜αž·αž“αž’αžΆαž…αžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž”αžΆαž“αž–αŸαž‰αž›αŸαž‰αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸƒαž€αžΆαžšαžœαž·αž—αžΆαž‚αž”αž‰αŸ’αž αžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž…αŸ†αžŽαž»αž…αžαŸ’αž›αŸ‡αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž”αž‰αŸ’αž αžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž…αžΆαžšαžŽαžΆαž–αŸαž‰αž›αŸαž‰ αž¬αžαŸ’αžœαŸ‡αž–αŸαžαŸŒαž˜αžΆαž“αžαŸ’αž›αŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž αžΎαž™β€‹αžαŸ’αž‰αž»αŸ†β€‹αžŸαž»αŸ†β€‹αž±αŸ’αž™β€‹αž’αŸ’αž“αž€β€‹αž›αžΎαž€β€‹αž›αŸ‚αž„β€‹αžαŸ’αž‰αž»αŸ†β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž–αŸαž›β€‹αž“αŸαŸ‡β€‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

តើ Patroni αž‡αžΆαž’αŸ’αžœαžΈ?

  • αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‚αŸ†αžšαžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹ HA αŸ” αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžœαžΆαž“αž·αž™αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαŸ” αž αžΎαž™αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŽαžΆαžŸαŸ‹αŸ” Patroni αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αž‚αŸ’αžšαžΆαž”αŸ‹β€‹αž”αŸ’αžšαžΆαž€αŸ‹β€‹αžŠαŸ‚αž›β€‹αž“αžΉαž„β€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αžšαžΆαž›αŸ‹β€‹αž”αž‰αŸ’αž αžΆβ€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€β€‹αž“αŸ„αŸ‡β€‹αž‘αŸ αž–αŸ„αž›β€‹αž‚αžΊβ€‹αž’αŸ’αž“αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„β€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αžœαžΆβ€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„β€‹αž“αžΆαŸ†β€‹αž˜αž€β€‹αž“αžΌαžœβ€‹αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαŸ”
  • αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎαž‚αŸ’αžšαž”αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž‡αžΆαž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’ init αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Postgres αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Postgres αž”αž‰αŸ’αžˆαž”αŸ‹ αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš topology αž“αŸƒ cluster αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”
  • αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ αžαŸ†αžŽαžΆαž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹αžœαžΆ αžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαž˜αžΎαž›αž‘αŸ… αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž˜αž½αž™αž…αŸ†αž“αž½αž“αž‚αžΊαžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ” αž αžΎαž™αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž“αŸαŸ‡ Patroni αž”αžΆαž“αž™αž€αž•αŸ’αž›αžΌαžœαž“αŸƒαž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžšαžŠαŸ’αž‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαžΆαž„αž€αŸ’αžšαŸ…αŸ” αžœαžΆαž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž…αŸ‚αž€αž…αžΆαž™αŸ” αžœαžΆαž’αžΆαž…αž‡αžΆ Etcd, Consul, ZooKeeper ឬ kubernetes Etcd αž–αŸ„αž›αž‚αžΊαž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ”
  • αž αžΎαž™αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž˜αž½αž™αžšαž”αžŸαŸ‹ Patroni αž‚αžΊαžαžΆαž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“ autofiler αž…αŸαž‰αž–αžΈαž”αŸ’αžšαž’αž”αŸ‹ αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžŠαŸ†αž‘αžΎαž„αžœαžΆαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž™αž€ Repmgr αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž” αž“αŸ„αŸ‡αž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„ Repmgr αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž˜αž½αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž…αž„αŸ‹αž”αžΆαž“ autofiler αž“αŸ„αŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžΆαž”αž“αŸ’αžαŸ‚αž˜αŸ” Patroni αž˜αžΆαž“ autofiler αž…αŸαž‰αž–αžΈαž”αŸ’αžšαž’αž”αŸ‹αžšαž½αž…αž αžΎαž™αŸ”
  • αž αžΎαž™αž˜αžΆαž“αžšαžΏαž„αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαžαŸ‚αžšαž€αŸ’αžŸαžΆαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž…αžΆαž€αŸ‹αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžαŸ’αž˜αžΈ αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αŸ”αž›αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž αž½αžŸαž–αžΈαžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸƒαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžœαžΆαž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž›αž‘αŸ’αž’αž•αž›αžαžΌαž…αž˜αž½αž™αž‚αžΊαžαžΆ αž—αžΆαžšαž€αž·αž…αŸ’αž…αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹ Patroni αž‚αžΊαž’αŸ’αžœαžΎ autofile αž±αŸ’αž™αž”αžΆαž“αž›αŸ’αž’ αž“αž·αž„αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“ αžŠαžΌαž…αŸ’αž“αŸαŸ‡ cluster αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“αž€αžαŸ‹αžŸαŸ†αž‚αžΆαž›αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ cluster topology αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎ Patroni αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž”αž“αŸ’αžαž·αž…αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž»αž“αž“αŸαŸ‡αž™αžΎαž„αž˜αžΆαž“ Postgres αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ Patroni αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“ Patroni αžαŸ’αž›αž½αž“αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“ DCS αžŠαŸ‚αž›αžšαžŠαŸ’αž‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αŸ” αž αžΎαž™αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΌαž…αž˜αŸ’αžŠαŸαž…αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž’αžΆαž…αž‘αŸ…αžαž»αžŸ?

αž’αžΆαž…αž”αŸ†αž”αŸ‚αž€αŸ–

  • Postgres αž’αžΆαž…αž“αžΉαž„αžαžΌαž…αŸ” αžœαžΆαž’αžΆαž…αž‡αžΆαž˜αŸ αž¬αž…αž˜αŸ’αž›αž„ αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž–αž½αž€αž‚αŸαž’αžΆαž…αž“αžΉαž„αž”αžšαžΆαž‡αŸαž™αŸ”
  • Patroni αžαŸ’αž›αž½αž“αž―αž„αž’αžΆαž…αž”αŸ†αž”αŸ‚αž€αž”αžΆαž“αŸ”
  • DCS αžŠαŸ‚αž›αžšαžŠαŸ’αž‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž’αžΆαž…αžαžΌαž…αŸ”
  • αž αžΎαž™αž”αžŽαŸ’αžαžΆαž‰αž’αžΆαž…αž”αŸ†αž”αŸ‚αž€αž”αžΆαž“αŸ”

αž…αŸ†αžŽαž»αž…αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αž·αž…αžΆαžšαžŽαžΆαž€αŸ’αž“αž»αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž–αž·αž…αžΆαžšαžŽαžΆβ€‹αž€αžšαžŽαžΈβ€‹αž‘αžΆαŸ†αž„β€‹αž“αŸ„αŸ‡β€‹αž–αŸ’αžšαŸ„αŸ‡β€‹αžœαžΆβ€‹αž€αžΆαž“αŸ‹αžαŸ‚β€‹αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αž˜αž·αž“αž˜αŸ‚αž“β€‹αžαžΆαž˜β€‹αž‘αžŸαŸ’αžŸαž“αŸˆβ€‹αžŠαŸ‚αž›β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡β€‹αž˜αžΆαž“β€‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αž‘αŸαŸ” αž αžΎαž™αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž“αŸƒαž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ’αžšαž’αžΆαž“αž”αž‘ αžαžΆαž€αžšαžŽαžΈαž“αŸαŸ‡αž–αž·αž”αžΆαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ† αžœαžΆαž–αž·αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž»αŸ‡αžšαžΎαžœαžΆ ... αž αžΎαž™αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰ αž€αžšαžŽαžΈαžαŸ’αž›αŸ‡αžŸαŸ’αžšαžΆαž› αž αžΎαž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž»αŸ‡αžšαžΎαžœαžΆαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž€αžšαžŽαžΈαžŠαŸ†αž”αžΌαž„αž‚αžΊαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαŸ” αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž€αžšαžŽαžΈβ€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž™αž€β€‹αž…αž„αŸ’αž€αŸ„αž˜β€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž αžΎαž™β€‹αžŠαžΆαž€αŸ‹β€‹αž–αž„αŸ’αžšαžΆαž™β€‹αž€αž“αŸ’αž›αŸ‚αž„β€‹αž•αŸ’αž‘αž»αž€ DCS αžšαž”αžŸαŸ‹β€‹αž™αžΎαž„β€‹αž“αŸ…β€‹αž›αžΎβ€‹αž…αž„αŸ’αž€αŸ„αž˜β€‹αžαŸ‚αž˜αž½αž™αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αŸ†αž αž»αžŸαž‘αžΌαž‘αŸ…αž”αŸ†αž•αž»αžαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αŸ†αž αž»αžŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž’αžΆαžαž»αž•αŸ’αžŸαŸ†αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™

αž’αŸŠαžΈαž…αžΉαž„β€‹αž˜αžΆαž“β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžšβ€‹αž˜αž€β€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αžšαžΏαž„β€‹αž αŸ’αž“αžΉαž„αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αŸ” αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αž™αžΎαž„β€‹αž…αžΆαž”αŸ‹β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αž€αŸ’αž“αž»αž„β€‹αž–αŸαž›β€‹αž“αŸαŸ‡β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αž…αž„αŸ’αž€αŸ„αž˜β€‹αž”αžΆαž“β€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌαžšαŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ„αŸ‡αž‘αŸ αž–αŸ„αž›αž‚αžΊαžœαžΆαž˜αž·αž“αž…αŸ†αžŽαžΆαž™αž–αŸαž›αžŽαžΆαž˜αž½αž™αž‘αŸ αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αŸ” αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž™αžΌαžšαŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžœαžΆαž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž“αž·αž„αž–αŸαž›αžœαŸαž›αžΆαž”αž‰αŸ’αž…αž”αŸ‹ αž–αŸ„αž›αž‚αžΊαžœαžΆαž‡αžΆαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž”αž“αŸ’αžαŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž”αŸ‚αž„αž…αŸ‚αž€β€‹αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸβ€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹β€‹αž‡αžΆβ€‹αž”αžΈβ€‹αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›αŸ– αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž–αŸαž›β€‹αž˜αž»αž“β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžš αž€αŸ†αž‘αž»αž„β€‹αž–αŸαž›β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžš αž“αž·αž„β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžšαŸ” αž“αŸ„αŸ‡αž‚αžΊαž™αžΎαž„αž–αž·αž…αžΆαžšαžŽαžΆαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αŸαž›αžœαŸαž›αžΆαž“αŸαŸ‡αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™β€‹αžšαžΏαž„β€‹αžŠαŸ†αž”αžΌαž„β€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžšβ€‹αž”αžΆαž“β€‹αž€αžΎαžβ€‹αž‘αžΎαž„ αž™αžΎαž„β€‹αžšαž€β€‹αž˜αžΎαž›β€‹αž˜αžΌαž›αž αŸαžαž»β€‹αž“αŸƒβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž€αžΎαžβ€‹αž‘αžΎαž„ αžαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž‡αžΆβ€‹αž˜αžΌαž›αž αŸαžαž»β€‹αž“αŸƒβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž“αžΆαŸ†β€‹αž±αŸ’αž™β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžšαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž“αŸ„αŸ‡ αž–αž½αž€αžœαžΆαž“αžΉαž„αž‡αžΆαž€αŸ†αžŽαžαŸ‹αž αŸαžαž» Patroni αž”αž»αžšαžΆαžŽαŸ” αž‚αžΆαžαŸ‹αž”αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αž‚αŸαžαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αŸ αž αžΎαž™αžαž½αž“αžΆαž‘αžΈαžšαž”αžŸαŸ‹αž˜αŸαž”αžΆαž“αž†αŸ’αž›αž„αž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΌαžŸαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αž–αžΈαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž› filer αž€αžΎαžαž‘αžΎαž„ αž–αŸ„αž›αž‚αžΊ αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αžŠαŸ‚αž›αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αžαž½αž“αžΆαž‘αžΈαž˜αŸαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž–αžΈ node αž˜αž½αž™αž‘αŸ… node αž˜αž½αž™αž‘αŸ€αžαŸ” αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž™αžΎαž„αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αŸ” αž˜αŸαž”αžΆαž“αžŠαžΉαž„αžαžΆαž‚αžΆαžαŸ‹αž˜αž·αž“αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ DCS αž”αžΆαž“αž‘αŸ αž–αŸ„αž›αž‚αžΊαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž‡αžΆαž˜αž½αž™αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αŸ” αž αžΎαž™β€‹αž‚αžΆαžαŸ‹β€‹αžαžΆβ€‹αž‚αžΆαžαŸ‹β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž‡αžΆβ€‹αž˜αŸ’αž…αžΆαžŸαŸ‹β€‹αž”αžΆαž“β€‹αž‘αŸ€αžβ€‹αž‘αŸ αž αžΎαž™β€‹αž›αžΆαž›αŸ‚αž„β€‹αž–αžΈβ€‹αžαŸ†αžŽαŸ‚αž„αŸ” αž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸαŸ‡ "αž”αž“αŸ’αž‘αžΆαž”αž”αž“αŸ’αžαŸ„αž€αžαŸ’αž›αž½αž“αž―αž„" αž“αž·αž™αžΆαž™αž™αŸ‰αžΆαž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž€αžΎαžαž‘αžΎαž„αž˜αž»αž“αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαž“αŸ„αŸ‡ αž™αžΎαž„αž’αžΆαž…αžƒαžΎαž‰αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž“αžΌαžœαž αŸαžαž»αž•αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž‡αžΆαž”αž‰αŸ’αž αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž“αŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‡αŸ†αž“αž½αž™αž€αžΆαžšαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžšαž”αžŸαŸ‹ Patroni αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž‡αžΆαž…αŸ’αžšαžΎαž“ αž€αžΆαžšαž’αžŸαŸ‹αž–αŸαž› αž–αŸ„αž›αž‚αžΊαž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžš Patroni αž˜αž·αž“αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ DCS αž”αžΆαž“αž‘αŸαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž€αž»αž„αžŸαŸŠαž»αž›αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž“αŸ…αž›αžΎαž…αŸ’αžšαž€ 8500 αŸ”

αž αžΎαž™αž”αž‰αŸ’αž αžΆαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαžαžΆ Patroni αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžαŸ‚αž˜αž½αž™αŸ” αž αžΎαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αž»αž„αžŸαŸŠαž»αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž”αž‰αŸ’αž αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αž»αž„αžŸαŸŠαž»αž›αž•αž„αžŠαŸ‚αžšαŸ” αž–αž½αž€αž‚αŸαž˜αž·αž“αž’αžΆαž…αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž–αŸαž›αžαŸ’αž›αŸ‡ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αž“αŸ’αž‘αž»αž€αž”αžΆαž“αžαž™αž…αž»αŸ‡ αž”αŸ‰αžΆαžαžΌαž“αžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž’αžΆαž…αž‘αžΆαž€αŸ‹αž‘αž„αž‡αžΆαž˜αž½αž™αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž€αžΆαžšαž„αžΆαžšαž’αž˜αŸ’αž˜αžαžΆαž”αžΆαž“αž”αž“αŸ’αžαŸ” αž αžΎαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Pgdb-2 αžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αŸαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž“αŸ„αŸ‡αž‚αžΊαž˜αžΆαž“αž€αžΆαžšαž”αŸ†αž•αŸ’αž›αž·αž…αž”αŸ†αž•αŸ’αž›αžΆαž‰αžαžΌαž…αž˜αž½αž™ αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžαŸ’αž“αžΆαŸ†αž„αž”αžΆαž“αž›αžΆαž›αŸ‚αž„αž–αžΈαž’αŸ†αžŽαžΆαž…αžšαž”αžŸαŸ‹αž˜αŸ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αžΆαž“αž™αž€αž–αž½αž€αž‚αŸαž˜αŸ’αžαž„αž‘αŸ€αž αž–αŸ„αž›αž‚αžΊαž’αŸ’αžœαžΈαŸ—αž”αžΆαž“αžαŸ’αžšαž›αž”αŸ‹αž˜αž€αžœαž·αž‰αžŠαžΌαž…αžŠαžΎαž˜αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž“αŸαŸ‡αž’αžΆαž…αž…αžΆαžαŸ‹αž‘αž»αž€αžαžΆαž‡αžΆαž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž˜αž·αž“αž–αž·αž αž¬αž’αžΆαž…αž…αžΆαžαŸ‹αž‘αž»αž€αžαžΆ Patroni αž”αžΆαž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž“αŸ„αŸ‡αž‚αžΊαž‚αžΆαžαŸ‹αž”αžΆαž“αžŠαžΉαž„αžαžΆαž‚αžΆαžαŸ‹αž˜αž·αž“αž’αžΆαž…αžšαž€αŸ’αžŸαžΆαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αž”αžΆαž“αž‘αŸαž αžΎαž™αžŠαž€αžŸαž·αž‘αŸ’αž’αž·αž’αŸ†αžŽαžΆαž…αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ”

αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž”αž‰αŸ’αž αžΆαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αž»αž„αžŸαŸŠαž»αž›αž‚αžΊαž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž’αžΆαžŸαŸ’αžšαŸαž™αž αŸαžαž»αž“αŸαŸ‡ αž”αž“αŸ’αž‘αž»αž€αžŽαžΆαž˜αž½αž™αŸ– αžαžΆαžαžΎαžœαžΆαž‡αžΆαž”αž“αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαžαžΆαžŸ αž¬αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžœαžΆαž€αŸαž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž…αž„αŸ’αž€αŸ„αž˜αž€αž»αž„αžŸαŸŠαž»αž›αž•αž„αžŠαŸ‚αžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžŸαž˜αŸ’αžšαŸαž…β€‹αž…αž·αžαŸ’αžβ€‹αžαžΆβ€‹αžœαžΆβ€‹αž˜αž·αž“β€‹αž‚αž½αžšβ€‹αžšαžŸαŸ‹αž“αŸ…β€‹αž‡αžΆαž˜αž½αž™β€‹αž‚αŸ’αž“αžΆβ€‹αž‘αŸ αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž”αŸ‚αž„αž…αŸ‚αž€β€‹αž…αž„αŸ’αž€αŸ„αž˜β€‹αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αž»αž„αžŸαŸŠαž»αž›αŸ” αž αžΎαž™ Patroni αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αž»αž„αžŸαŸŠαž»αž›αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžšαž½αž…αž αžΎαž™ αž–αŸ„αž›αž‚αžΊαž˜αžΆαž“αž…αž„αŸ’αž€αŸ„αž˜ Postgres αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αžŠαŸ‚αž›αž‡αžΆαž…αž„αŸ’αž€αŸ„αž˜αž€αž»αž„αžŸαŸŠαž»αž›αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ” αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αžŽαŸ‚αž“αžΆαŸ†β€‹αž‡αžΆβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž€αžΆαž“αŸ‹β€‹αž“αž·αž„β€‹αžšαž€αŸ’αžŸαžΆβ€‹αžšαž”αžŸαŸ‹β€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹β€‹αž“αŸαŸ‡β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž€αž»αŸ†β€‹αž²αŸ’αž™β€‹αžœαžΆβ€‹αž“αŸ…β€‹αž‡αžΆαž˜αž½αž™β€‹αž‚αŸ’αž“αžΆαŸ”

αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αžœαŸ‚αžšαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš ttl, loop_wait, retry_timeout, ឧ. αž–αŸ’αž™αžΆαž™αžΆαž˜αžŠαžΎαž˜αŸ’αž”αžΈαžšαžŸαŸ‹αžšαžΆαž“αž˜αžΆαž“αž‡αžΈαžœαž·αžαž–αžΈαž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ‚αž›αžŸαž˜αžŸαŸ’αžšαž”αž”αŸ†αž•αž»αžαž“αŸ„αŸ‡αž‘αŸαž–αŸ’αžšαŸ„αŸ‡αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸαŸ‡αž’αžΆαž…αž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αŸ” αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αž‘αŸ…αž αž½αžŸαž–αžΈαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž αžΎαž™αž“αŸ„αŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž’αžΆαž…αž‡αž½αž™αž’αŸ’αžœαžΈαž”αžΆαž“αž‘αžΎαž™αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž‰αŸ’αž αžΆαž‘αžΈαž˜αž½αž™ αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž™αž›αŸ‹αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž™αžΎαž„αž™αž€αž“αž·αž„αžŠαžΆαž€αŸ‹ DCS αžšαž½αž˜αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž™αžΎαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž‰αŸ’αž αžΆαž‘αžΈαž–αžΈαžšαž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„αž‘αžΈαž˜αž½αž™αŸ” αžœαžΆαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαžŠαŸ‚αžšαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αž“αŸ’αžαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’ DCS αž˜αŸ’αžαž„αž‘αŸ€αžαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž αžΎαž™ Patroni αž“αž·αž™αžΆαž™αžαžΆαžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž’αžΆαž…αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ DCS αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž˜αŸαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž…αž˜αŸ’αž›αž„αŸ”

αž˜αŸαž…αžΆαžŸαŸ‹αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ’αž“αž€αž…αž˜αŸ’αž›αž„ αž“αŸ…αž‘αžΈαž“αŸαŸ‡ Patroni αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαž‚αž½αžšαžαŸ‚αž‡αžΆαŸ” αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš pg_rewind αžŠαžΎαž˜αŸ’αž”αžΈαžαŸ’αžšαž‘αž”αŸ‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸαžαŸ’αž˜αžΈ αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž˜αŸαžαŸ’αž˜αžΈαŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ Patroni αž’αŸ’αžœαžΎαž€αžΆαžšαž…αŸαž‰αžŠαžΌαž…αžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž‚αž½αžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž“αŸ…αž–αžΈαž˜αž»αž filer αž–αŸ„αž›αž‚αžΊ αž€αŸ†αž αž»αžŸαž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αžŠαŸ‚αž›αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž™αžΎαž„αž˜αžΆαž“ filer αŸ” αž αžΎαž™αž€αŸ’αž“αž»αž„αž“αŸαž™αž“αŸαŸ‡ αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžšαž”αžŸαŸ‹ Patroni αž‚αžΊαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αŸ” αž‚αžΆαžαŸ‹αžŸαžšαžŸαŸαžšαžŸαžΆαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαž˜αžΌαžšαžαžΆαž˜αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž™αŸ‰αžΆαž„αž›αžΏαž“ αž“αŸ„αŸ‡αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αž–αžΈαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž αžΎαž™αŸ” αž™αžΎαž„αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž“αŸαŸ‡αžœαž·αž‰αž™αŸ‰αžΆαž„αž›αžΏαž“ αžƒαžΎαž‰αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αŸ”

αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž’αž˜αŸ’αž˜αžαžΆ αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ” αž˜αŸ’αž…αžΆαžŸαŸ‹αžŸαŸ„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ’αž…αžΆαžŸαŸ‹αž§αž‘αžΆαž αžšαžŽαŸαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αŸ„αŸ‡αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αžΆαž…αž€αžΎαžαž‘αžΎαž„αžŠαŸ‚αž› Patroni αžαŸ’αžšαžΌαžœαžαŸ‚αž†αŸ’αž›αžΎαž™αžαž”αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡ αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž’αžΈβ€‹αž‘αŸαŸ” αž™αžΎαž„αž€αŸ†αž–αž»αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž€αŸ†αž αž»αžŸαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αžŠαŸ„αž™αž”αžΆαž“αžšαž˜αžΌαžšαž‘αŸ…αž…αŸ†αžŽαž»αž…αžŠαŸ‚αž›αž€αŸ†αž αž»αžŸαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž›αŸαž…αž‘αžΎαž„ αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“αž―αž€αžŸαžΆαžšαž’αžΌαžαžΌ αž αžΎαž™αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž€αŸ†αž αž»αžŸαžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ DCS αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαž€αž»αž„αžŸαŸŠαž»αž› αž™αžΎαž„αž€αŸαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αž»αž„αžŸαŸŠαž»αž›αž•αž„αžŠαŸ‚αžš αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”

αžŠαŸ„αž™αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž–αŸαž›αžœαŸαž›αžΆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž–αžΆαž€αŸ’αž™ αž“αž·αž„αž–αŸαž›αžœαŸαž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αž»αž„αžŸαŸŠαž»αž› αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž’αŸ’αž“αž€αž‡αž·αžαžαžΆαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αž€αž»αž„αžŸαŸŠαž»αž›αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαž„αŸ’αžŸαŸαž™αž’αŸ†αž–αžΈαž’αžαŸ’αžαž·αž—αžΆαž–αž“αŸƒαžŸαž˜αžΆαž‡αž·αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸƒαž€αŸ’αžšαž»αž˜αž€αž»αž„αžŸαŸŠαž»αž›αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžšαž”αžŸαŸ‹αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž€αž»αž„αžŸαŸŠαž»αž›αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž€αžΆαžšαžŠαž½αž›αžšαž›αŸ†αž”αžŽαŸ’αžαžΆαž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž αžΎαž™αžŸαž˜αžΆαž‡αž·αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž€αŸ’αžšαž»αž˜αž€αž»αž„αžŸαŸŠαž»αž›αž˜αžΆαž“αž€αžΆαžšαžŸαž„αŸ’αžŸαŸαž™αž–αžΈαž’αžαŸ’αžαž·αž—αžΆαž–αžšαž”αžŸαŸ‹αž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αŸ” αž αžΎαž™β€‹αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž€αž˜αŸ’αž›αžΆαŸ†αž„β€‹αž…αž·αžαŸ’αžβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžšαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž˜αž»αž“αž–αŸαž›αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž˜αžΆαž“αž€αŸ†αž αž»αžŸαž‚αŸ’αžšαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘ αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αž•αž»αžαž€αŸ†αžŽαžαŸ‹ RPC αž”αžΆαž“αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡ αž“αŸ„αŸ‡αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αžŸαž˜αžΆαž‡αž·αž€αž€αŸ’αžšαž»αž˜αž€αž»αž„αžŸαŸŠαž»αž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αŸ” .

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž…αž˜αŸ’αž›αžΎαž™αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαž‚αžΊαžαŸ’αžšαžΌαžœαž‡αž½αžŸαž‡αž»αž›αž”αžŽαŸ’αžαžΆαž‰αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž‰αž»αŸ† αž€αžΆαžšβ€‹αžˆαžšβ€‹αž›αžΎβ€‹αžœαŸαž‘αž·αž€αžΆ αžœαžΆβ€‹αž„αžΆαž™β€‹αž“αžΉαž„β€‹αž“αž·αž™αžΆαž™β€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαž›αŸˆαž‘αŸαžŸαŸˆαž‚αžΊαž”αŸ‚αž”αž“αŸαŸ‡ αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αžαŸ‚αž„αžαŸ‚αž’αžαž·αžαž·αž‡αž“αž’αžΆαž…αž˜αžΆαž“αž›αž‘αŸ’αž’αž—αžΆαž–αž‡αž½αžŸαž‡αž»αž›αž”αžŽαŸ’αžαžΆαž‰αž“αŸ„αŸ‡αž‘αŸαŸ” αž‚αžΆαžαŸ‹αž’αžΆαž…αžšαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ DC αž αžΎαž™αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž’αžΆαž…αž‡αž½αžŸαž‡αž»αž›αž”αžŽαŸ’αžαžΆαž‰αž”αžΆαž“ αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž§αž”αž€αžšαžŽαŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž‡αž˜αŸ’αžšαžΎαžŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž˜αž½αž™αž…αŸ†αž“αž½αž“αž‚αžΊαžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαŸ–

  • αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžš αžαžΆαž˜αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž‚αžΊαžαŸ’αžšαžΌαžœαž”αž·αž‘αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αž»αž„αžŸαŸŠαž»αž› αž–αŸ„αž›αž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž’αžΆαžšαŸαž‘αž‘αŸαŸ” αž αžΎαž™αž™αžΎαž„αž”αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž€αž»αž„αžŸαŸŠαž»αž›αž€αž»αŸ†αž±αŸ’αž™αž”αŸ’αžšαžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŽαžΆαž˜αž½αž™αž‘αžΎαž™αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž™αžΎαž„αž’αžΆαž…αž–αŸ’αžšαž„αžΎαž™αž€αž“αŸ’αžαžΎαž™αž…αŸ†αž–αŸ„αŸ‡αž–αŸ’αž™αž»αŸ‡αž”αžŽαŸ’αžαžΆαž‰αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αž˜αž·αž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž‘αŸαŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™αž‘αŸ€αžαž‚αžΊαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž› raft_multiplier αž–αžΈαžšαžŠαž„αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αž»αž„αžŸαŸŠαž»αž›αžαŸ’αž›αž½αž“αž―αž„αŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ… 5. αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŠαŸ„αž™αž―αž€αžŸαžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αŸ” αžαžΆαž˜αž–αž·αžαž‘αŸ… αžœαžΆαž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž—αžΆαž–αž‰αžΉαž€αž‰αžΆαž”αŸ‹αž“αŸƒαž€αžΆαžšαž•αŸ’αž‰αžΎαžŸαžΆαžšαžšαžœαžΆαž„αžŸαž˜αžΆαž‡αž·αž€αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αž€αž»αž„αžŸαŸŠαž»αž›αŸ” αžαžΆαž˜αž–αž·αž αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžšαžœαžΆαž„αžŸαž˜αžΆαž‡αž·αž€αž“αŸƒαž€αŸ’αžšαž»αž˜αž€αž»αž„αžŸαŸŠαž»αž›αŸ” αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αž›αž·αž αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžšαž½αž…αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαžΆαžšαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž‡αžΆαž„αž˜αž»αž“αŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™αž‘αŸ€αžαžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž˜αž€αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž’αžΆαž‘αž·αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž„αžŸαŸŠαž»αž›αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž˜αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš "αž›αŸ’αž’" αž”αŸ‚αž”αž“αŸαŸ‡ αžœαžΆαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž€αŸ†αžŽαžαŸ‹αž’αžΆαž‘αž·αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž˜αž€αž–αž·αž…αžΆαžšαžŽαžΆαžŠαŸ„αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž› OS αž“αŸ…αž–αŸαž›αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αŸ” αž™αžΎαž„αž€αŸαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžαž˜αŸ’αž›αŸƒαžŠαŸαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž€αž»αž„αžŸαŸŠαž»αž›, i.e. αž”αž„αŸ’αž€αžΎαž“αž’αžΆαž‘αž·αž—αžΆαž– αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž€αž»αž„αžŸαŸŠαž»αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αŸαž›αžœαŸαž›αžΆαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžš αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αžœαžΆαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸαž˜αž½αž™αž‘αŸ€αžαž‚αžΊαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž€αž»αž„αžŸαŸŠαž»αž›αž‘αŸαŸ” αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž˜αž·αžαŸ’αžαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž‡αžΆαž’αŸ’αž“αž€αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸαž’αŸ†αžšαž”αžŸαŸ‹ Etcd αŸ” αž αžΎαž™αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž”αŸ’αžšαž€αŸ‚αž€αž‡αžΆαž˜αž½αž™αž‚αžΆαžαŸ‹αžαžΆαž˜αž½αž™αžŽαžΆαž›αŸ’αž’αž‡αžΆαž„ Etcd ឬ Consul αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αžΎαž“αž·αž™αžΆαž™αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž“αŸαŸ‡ αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž™αžΎαž„αž™αž›αŸ‹αžŸαŸ’αžšαž”αž‡αžΆαž˜αž½αž™αž‚αžΆαžαŸ‹αžαžΆαž€αž»αž„αžŸαŸŠαž»αž›αž˜αžΆαž“αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαžŠαŸ‚αž›αž‚αž½αžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž“αžΈαž˜αž½αž™αŸ—αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž“αŸ„αŸ‡αž‚αžΊαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹ Patroni αž‡αžΆαž˜αž½αž™αž…αž„αŸ’αž€αŸ„αž˜αž€αž»αž„αžŸαŸŠαž»αž›αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž“αŸαŸ‡αŸ” αž αžΎαž™αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž“αŸαŸ‡αž€αŸ’αž›αžΆαž™αž‡αžΆαž§αž”αžŸαž‚αŸ’αž‚αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™αž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžš αž“αŸ„αŸ‡ Patroni αž˜αž·αž“αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αž€αž»αž„αžŸαŸŠαž»αž›αž‘αŸ€αžαž‘αŸαŸ” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž αžΆαŸ” αž˜αž·αž“αž˜αžΆαž“αž—αŸ’αž“αžΆαž€αŸ‹αž„αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ‚αž“αž€αžΆαžš Etcd αž‘αŸαŸ” Patroni αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‡αžΆαž˜αž½αž™αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Etcd αž“αž·αž„αž‘αžΆαž€αŸ‹αž‘αž„αž‡αžΆαž˜αž½αž™αž–αž½αž€αž‚αŸαžšαž½αž…αž αžΎαž™αŸ” αž€αŸ’αž“αž»αž„αž“αŸαž™αž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎ Etcd αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž“αŸ„αŸ‡ Etcd αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž€αž»αž„αžŸαŸŠαž»αž›αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž“αŸ…αž’αžαž·αžαž·αž‡αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž€αž˜αŸ’αžšαž·αžαžŠαŸ„αž™αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžαž·αžαž·αž‡αž“αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αž αžΎαž™αž™αžΎαž„αž˜αžΆαž“αž€αž»αž„αžŸαŸŠαž»αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžαž·αžαž·αž‡αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”
  • αž αžΎαž™αž…αŸ†αžŽαž»αž…αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž‚αžΊαžαŸ’αžšαžΌαžœαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαžαž˜αŸ’αž›αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαŸ” αž™αžΎαž„αž’αžΆαž…αž›αžΎαž€αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αžΎαž„αžŠαŸ„αž™αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž”αž‰αŸ’αž αžΆαž”αžŽαŸ’αžαžΆαž‰αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž“αžΉαž„αžαŸ’αž›αžΈαž αžΎαž™αž˜αž·αž“αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αžšαŸ…αž‡αž½αžšαž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸαŸ” αžœαž·αž’αžΈαž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαžˆαŸ’αž›αžΆαž“αž–αžΆαž“αžšαž”αžŸαŸ‹ Patroni αž‘αŸ… autofile αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αž‰αŸ’αž αžΆαž”αžŽαŸ’αžαžΆαž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“αž€αžΎαžαž‘αžΎαž„αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž˜αž“αž»αžŸαŸ’αžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž”αŸ’αžšαžΎ Patroni αžŸαŸ’αž‚αžΆαž›αŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž“αŸαŸ‡αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αŸ” αž αžΎαž™αž“αŸ… glance αžŠαŸ†αž”αžΌαž„αžšαžΌαž”αž—αžΆαž–αž“αŸαŸ‡αž’αžΆαž…αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαŸ” αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž˜αŸ αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž…αž˜αŸ’αž›αž„β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž—αžΆαž–β€‹αž™αžΊαžαž™αŸ‰αžΆαžœβ€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž…αž˜αŸ’αž›αž„β€‹αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαžΌαž”αž—αžΆαž–αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαžΏαž„αž’αž˜αŸ’αž˜αžαžΆ αž‘αžΆαž›αŸ‹αžαŸ‚αž™αžΎαž„αžŠαžΉαž„αžαžΆαž…αž„αŸ’αž€αŸ„αž˜αž“αŸαŸ‡αž‚αž½αžšαžαŸ‚αž˜αžΆαž“αž”αžΈαžαŸ’αž“αžΆαŸ†αž„ αž˜αž·αž“αž˜αŸ‚αž“αž–αžΈαžšαž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™αž˜αžΆαž“αž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸαŸ‡ αž―αž€αžŸαžΆαžšαž…αž˜αŸ’αž›αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αž”αžΆαžαŸ‹αŸ” αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αžšαž€β€‹αž±αŸ’αž™β€‹αžƒαžΎαž‰β€‹αžαžΆβ€‹αž αŸαžαž»β€‹αž’αŸ’αžœαžΈβ€‹αž”αžΆαž“β€‹αž‡αžΆβ€‹αž“αžΆαž„β€‹αž”αžΆαžαŸ‹β€‹αžαŸ’αž›αž½αž“ αž αžΎαž™β€‹αž“αžΆαŸ†β€‹αž“αžΆαž„β€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αž˜αž€β€‹αžœαž·αž‰ αžŸαŸ’αžŠαžΆαžšβ€‹αž“αžΆαž„β€‹αž‘αžΎαž„β€‹αžœαž·αž‰αŸ” αž αžΎαž™αž™αžΎαž„αž˜αŸ’αžαž„αž‘αŸ€αžαž‘αŸ…αž€αžΆαž“αŸ‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž αžΎαž™αž˜αžΎαž›αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž™αžΎαž„αž˜αžΆαž“αž―αž€αžŸαžΆαžšαž’αžΌαžαžΌαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž…αž˜αŸ’αž›αž„αž‘αžΈαž–αžΈαžšαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αŸαŸ” αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž˜αžΎαž›β€‹αž€αžΆαžšβ€‹αž…αž˜αŸ’αž›αž„β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž’αŸ’αž›αžΆαž€αŸ‹β€‹αž…αž»αŸ‡ αž αžΎαž™β€‹αž˜αž½αž™β€‹αžŽαžΆβ€‹αž˜αž·αž“β€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž…αž„αŸ’αž€αŸ„αž˜αŸ” αž™αžΎαž„αž”αžΎαž€αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» Patroni αž αžΎαž™αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… cluster αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž› pg_rewindαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ’αžšαž‘αž”αŸ‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΎαž„αžœαž·αž‰ αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž–αžΈαž˜αŸ αž αžΎαž™αž”αŸ’αžšαžΎαžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž˜αŸαŸ”

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž™αžΎαž„αž˜αž·αž“αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αŸ αž αžΎαž™αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž·αž“αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αžΆαž“αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž™αžΎαž„αž”αž‰αŸ’αžˆαž”αŸ‹ Postgres αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αž αž»αžŸαž˜αž½αž™αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αžœαžΆαž˜αž·αž“αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αž–αžΈαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αžœαžΆαž˜αž·αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ αž αžΎαž™αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž˜αž·αž“αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αŸ” αž™αžΎαž„β€‹αž‘αŸ…β€‹αžšαž€β€‹αž˜αŸ’αž…αžΆαžŸαŸ‹β€‹αžαŸ’αž˜αžΈ αž αžΎαž™β€‹αž˜αžΎαž›β€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž‚αžΆαžαŸ‹β€‹αž˜αžΆαž“β€‹αž€αŸ’αž“αž»αž„β€‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αŸ” αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž“αŸ…αž–αŸαž›αžŠαŸ‚αž› pg_rewind αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžšαž½αž… αž…αŸ†αžŽαž»αž…αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αž½αž™αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αŸ” αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž…αžΆαžŸαŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸαž…αžΆαžŸαŸ‹αž–αŸ’αž™αžΆαž™αžΆαž˜αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸαžαŸ’αž˜αžΈ αž αžΎαž™αžŸαž½αžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αžšαž½αž…αž αžΎαž™ αžœαžΆαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αž·αž“αž˜αžΆαž“αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αŸ” αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαž‚αžΊ 150 αž˜αž·αž›αŸ’αž›αžΈαžœαž·αž“αžΆαž‘αžΈ αž–αŸ„αž›αž‚αžΊ αž…αŸ’αžšαž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 369 αž˜αžΈαž›αžΈαžœαž·αž“αžΆαž‘αžΈ αž•αŸ’αž“αŸ‚αž€ WAL αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αŸ” αž αžΎαž™αžαžΆαž˜αž–αŸ’αž™αž‰αŸ’αž‡αž“αŸˆαž“αŸ…αž†αŸ’αž“αžΆαŸ† 517 αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 150 αž˜αž·αž›αŸ’αž›αžΈαžœαž·αž“αžΆαž‘αžΈ αž€αžΆαžšαžαŸ’αžšαž›αž”αŸ‹αž˜αž€αžœαž·αž‰αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ…αž›αžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž…αžΆαžŸαŸ‹αŸ” αž“αŸ„αŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆ 150 αž˜αžΈαž›αžΈαžœαž·αž“αžΆαž‘αžΈαž‚αžΊαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž·αž“αž’αžΆαž…αžαž—αŸ’αž‡αžΆαž”αŸ‹ αž“αž·αž„αžšαž€αž”αŸ’αžšαžΆαž€αŸ‹αž…αŸ†αžŽαžΌαž›αž”αžΆαž“αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαžΎαž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡?

αžŠαŸ†αž”αžΌαž„αž™αžΎαž„αž”αŸ’αžšαžΎαžšαž“αŸ’αž’αž…αž˜αŸ’αž›αž„αŸ” αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αžœαžΆβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž›αŸ’αž’αŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŠαŸ†αž”αžΌαž„αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αžΎαž„αž”αžΆαž“αž”αž·αž‘αžšαž“αŸ’αž’αžŠαŸ„αžαŸ” αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž™αžΎαž„αžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαžšαž“αŸ’αž’αžŠαŸ„αžαž€αž€αž€αž»αž‰αž•αŸ’αž“αŸ‚αž€ WAL αž…αŸ’αžšαžΎαž“ αž™αžΎαž„αž’αžΆαž…αž‘αž˜αŸ’αž›αžΆαž€αŸ‹αž˜αŸαž”αžΆαž“αŸ” αž‚αžΆαžαŸ‹αž“αžΉαž„αžŠαž½αž›αŸ” αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžšαž„β€‹αž‘αž»αž€αŸ’αžβ€‹αž˜αž½αž™β€‹αžšαž™αŸˆβ€‹αžŠαŸ„αž™β€‹αž‚αŸ’αž˜αžΆαž“β€‹αžšαž“αŸ’αž’αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αžšαž“αŸ’αž’β€‹αžŠαŸ„αž αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αžšαž“αŸ’αž’β€‹αžœαž·αž‰β€‹αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αžŠαŸ‚αž›αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸαž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž…αž˜αŸ’αž›αž„ αžœαžΆαž›αž»αž”αžšαž“αŸ’αž’αžŠαŸ„αž αž“αž·αž„αž›αž»αž”αž•αŸ’αž“αŸ‚αž€ WAL αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžšαž“αŸ’αž’αžŠαŸ„αžαŸ” αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž›αžΎαž€αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš wal_keep_segments αŸ” αžœαžΆαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αŸ… 8 αž•αŸ’αž“αŸ‚αž€αŸ” αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αžœαžΆαžŠαž›αŸ‹ 1 αž αžΎαž™αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž™αžΎαž„αž˜αžΆαž“αž€αž“αŸ’αž›αŸ‚αž„αž‘αŸ†αž“αŸαžšαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αŸ” αž αžΎαž™αž™αžΎαž„αž”αžΆαž“αž”αžšαž·αž…αŸ’αž…αžΆαž‚ 000 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ wal_keep_segments αŸ” αž“αŸ„αŸ‡αž‚αžΊαž“αŸ…αž–αŸαž›αž”αŸ’αžαžΌαžš αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž‘αž»αž“αž”αž˜αŸ’αžšαž»αž„ 16 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž αžΎαž™αž”αžΌαž€ - αžœαžΆαž“αŸ…αžαŸ‚αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžαŸ‚αž‘αžΆαŸ†αžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αŸ” αž§αž”αž˜αžΆαžαžΆ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αž½αž™αž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αŸ” αž αžΎαž™αž™αžΎαž„αž…αž„αŸ‹αž”αž·αž‘αžœαžΆαŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž αžΎαž™αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž”αž·αž‘αž€αžΆαžšαž…αž˜αŸ’αž›αž„ αžšαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž“αŸ„αŸ‡αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž•αž„αžŠαŸ‚αžšαŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αŸ’αžšαžΎ wal_keep_segments αžαžΌαž…αž˜αž½αž™ αž“αŸ„αŸ‡αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αžœαžαŸ’αžαž˜αžΆαž“αž™αžΌαžšαž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„ αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαžαŸ‹αž”αž„αŸ‹αŸ” αž™αžΎαž„αž“αžΉαž„αž›αžΎαž€αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž½αž™ αžœαžΆαž“αžΉαž„αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαžˆαž”αŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αž½αž€αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αžŸαŸ’αžαž·αžαž“αŸ…αž›αžΎαž˜αŸαž‘αŸαŸ” αž αžΎαž™αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹αž”αžΆαž“αž‘αžΎαž™αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„β€‹αžšαž€αŸ’αžŸαžΆβ€‹αžŸαŸ’αžαž»αž€β€‹αž‘αžŸαŸ’αžŸαž“αžΆαžœαžŠαŸ’αžŠαžΈβ€‹αžŠαŸβ€‹αž…αŸ’αžšαžΎαž“β€‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž•αž›αž·αžαž€αž˜αŸ’αž˜αŸ” αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž…αž αžΎαž™αŸ”

αž˜αžΆαž“αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαŸ” αž™αžΎαž„αž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž αžΎαž™αž˜αžΎαž› - αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αžŠαžΆαž”αŸ‹, αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‚αžΊαž“αŸ…αž“αžΉαž„αž€αž“αŸ’αž›αŸ‚αž„, αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž™αžΊαžαž™αŸ‰αžΆαžœαž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αŸ” αž˜αž·αž“αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž“αŸ„αŸ‡αž‘αŸ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αžŠαžΆαž”αŸ‹αŸ”

αž€αŸ’αžšαž»αž˜αž•αž›αž·αžαž•αž›αž“αž·αž™αžΆαž™αžαžΆαž‚αž½αžšαžαŸ‚αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αžƒαžΎαž‰αžœαžΆαž–αžΈαž”αŸ’αžšαž—αž–αž˜αž½αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž˜αž·αž“αžƒαžΎαž‰αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸαŸ” αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž–αž½αž€αž‚αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆ pg_rewind αžαž€αžαžΆαž“αž–αž½αž€αž‚αŸαŸ” αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž™αž›αŸ‹β€‹αž–αžΈβ€‹αžšαžΏαž„β€‹αž“αŸαŸ‡β€‹αž—αŸ’αž›αžΆαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž”αžΆαž“β€‹αž‘αŸ…β€‹αž˜αžΎαž›β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αž€αžΎαžβ€‹αž‘αžΎαž„αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αžšαž€αžƒαžΎαž‰αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„ αž’αŸ’αž“αž€αžŽαžΆαž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αŸ αž αžΎαž™αž™αžΎαž„αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžαžΆαž’αŸ’αž“αž€αžŽαžΆαž‡αžΆαž˜αŸαž…αžΆαžŸαŸ‹ αž αžΎαž™αž“αŸ…αž–αŸαž›αžŽαžΆαžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž…αž„αŸ‹αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ’αž“αž€αž…αž˜αŸ’αž›αž„ αž–αŸ„αž›αž‚αžΊαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αžšαž€αž”αžšαž·αž˜αžΆαžŽαž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸ„αŸ‡αŸ” αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΆαžαŸ‹αž”αž„αŸ‹αŸ”

αž˜αŸαž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αŸ” αž αžΎαž™ Patroni αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ autorun αŸ” αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Patroni αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž‚αžΆαžαŸ‹αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Postgres αŸ” αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž˜αž»αž“αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Postgres αž“αž·αž„αž˜αž»αž“αž–αŸαž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αŸ’αž›αžΆαž™αž‡αžΆαž€αžΆαžšαž…αž˜αŸ’αž›αž„ Patroni αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš pg_rewind αŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž‚αžΆαžαŸ‹αž”αžΆαž“αž›αž»αž”αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž‘αžΆαž‰αž™αž€αžαŸ’αž˜αžΈ αž“αž·αž„αž—αŸ’αž‡αžΆαž”αŸ‹αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ Patroni αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž™αŸ‰αžΆαž„αž†αŸ’αž›αžΆαžαžœαŸƒ αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαžšαŸ†αž–αžΉαž„αž‘αž»αž€αŸ” αž…αž„αŸ’αž€αŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αžŠαžΆαžšαž‘αžΎαž„αžœαž·αž‰αŸ” αž™αžΎαž„αž˜αžΆαž“αžαŸ’αž“αžΆαŸ†αž„ 3 αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš 3 αžαŸ’αž“αžΆαŸ†αž„ - αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžαŸ’αžšαž‡αžΆαž€αŸ‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αž”αžΆαž“αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž™αž›αŸ‹β€‹αžαžΆβ€‹αžαžΎβ€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž”αžΆαžαŸ‹β€‹αž”αž„αŸ‹β€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“β€‹? αž™αžΎαž„β€‹αž€αŸ†αž–αž»αž„β€‹αžαŸ‚β€‹αžŸαŸ’αžœαŸ‚αž„β€‹αžšαž€β€‹αž–αŸαž›β€‹αžœαŸαž›αžΆβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αž˜αž€β€‹αžœαž·αž‰β€‹αŸ” αž™αžΎαž„αž’αžΆαž…αžšαž€αžœαžΆαž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžΆαžαž»αž‘αž·αž“αžΆαž“αž»αž”αŸ’αž”αžœαžαŸ’αžαž·αž”αŸ‚αž”αž“αŸαŸ‡αŸ” αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž αžΎαž™αž”αž‰αŸ’αž…αž”αŸ‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αžšαž€αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž˜αŸαž…αžΆαžŸαŸ‹αž”αžΆαž“αž…αžΆαž€αž…αŸαž‰αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αžŸαž‰αŸ’αž‰αžΆβ€‹αž‘αžΈαž–αžΈαžš αž–αŸ„αž›β€‹αž‚αžΊβ€‹αž…αž˜αŸ’αž„αžΆαž™β€‹αžŠαŸ‚αž›β€‹αž˜αŸβ€‹αž…αžΆαžŸαŸ‹β€‹αžαž»αžŸβ€‹αž–αžΈβ€‹αžŸαž‰αŸ’αž‰αžΆβ€‹αžαŸ’αž˜αžΈαŸ”

αž™αžΎαž„αž™αž€ pg_wal_lsn_diff αž’αž˜αŸ’αž˜αžαžΆ αž αžΎαž™αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŸαž‰αŸ’αž‰αžΆαž‘αžΆαŸ†αž„αž–αžΈαžšαž“αŸαŸ‡αŸ” αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“ 17 αž˜αŸαž€αžΆαž”αŸƒαŸ” αž…αŸ’αžšαžΎαž“β€‹αž¬β€‹αžαž·αž… αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αžŸαž˜αŸ’αžšαŸαž…β€‹αžŠαŸ„αž™β€‹αžαŸ’αž›αž½αž“β€‹αž―αž„αŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹ 17 αž˜αŸαž€αžΆαž”αŸƒαž‚αžΊαž˜αž·αž“αž…αŸ’αžšαžΎαž“αž‘αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžœαžΆαž…αŸ’αžšαžΎαž“αž αžΎαž™αž˜αž·αž“αž’αžΆαž…αž‘αž‘αž½αž›αž™αž€αž”αžΆαž“αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž”αž»αž‚αŸ’αž‚αž›αž˜αŸ’αž“αžΆαž€αŸ‹αŸ—αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžŸαŸ’αžšαž”αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΎαž™αžΎαž„αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž’αŸ’αžœαžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž›αž½αž“αž™αžΎαž„?

αžŠαŸ†αž”αžΌαž„αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ - αžαžΎαž™αžΎαž„αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž€αžΆαžš Patroni αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΎαž„αžœαž·αž‰αž‘αŸ? αžœαžΆαžαŸ‚αž„αžαŸ‚αž€αžΎαžαž‘αžΎαž„αžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαž‘αŸ…αžšαž€αž…αŸ…αž αŸ’αžœαžΆαž™αž…αžΆαžŸαŸ‹αž˜αžΎαž›αžαžΆαžαžΎαž‚αžΆαžαŸ‹αž”αžΆαž“αž‘αŸ…αž†αŸ’αž„αžΆαž™αŸ” αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžŸαžΌαž˜αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αžαžΆαžαžΎαž™αžΎαž„αž’αžΆαž…αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž¬αžαžΆαžαžΎαž™αžΎαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸαž…αžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž―αž€αžšαžΆαž‡αŸ’αž™αžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž…αŸαž‰αŸ”

αž αžΎαž™αž˜αžΆαž“αžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αž™αžΎαž„αž‚αž½αžšαžαŸ‚αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαž™αžΎαž„αž’αžΆαž…αž”αŸ„αŸ‡αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡ αž¬αž™αžΎαž„αž’αžΆαž…αžŸαŸ’αžŠαžΆαžšαžœαžΆαž‘αžΎαž„αžœαž·αž‰ αž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ’αž“αžΆαŸ†αž„αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‘αŸ…αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαž˜αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš "maximum_lag_on_failover" αŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž”αž˜αŸ’αžšαžΎαžαŸ’αž‰αž»αŸ† αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸαŸ‡αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒ 1 αž˜αŸαž€αžΆαž”αŸƒαŸ”

αžαžΎαž‚αžΆαžαŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…? αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™ 1 αž˜αŸαž€αžΆαž”αŸƒαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„ αž“αŸ„αŸ‡αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž“αŸαŸ‡αž˜αž·αž“αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αžαž‘αŸαŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž—αŸ’αž›αžΆαž˜αŸ—αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž―αž€αžŸαžΆαžš Patroni αž˜αžΎαž›αž‘αŸ…αžαžΆαžαžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž½αž™αžŽαžΆαžŠαŸ‚αž›αž™αžΊαžαž™αŸ‰αžΆαžœαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž–αž½αž€αž‚αŸαž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αžŠαŸ„αž™αž…αŸ†αž“αž½αž“αž…αŸ’αžšαžΎαž“αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž–αž½αž€αž‚αŸαž˜αž·αž“αž’αžΆαž…αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αŸαž”αžΆαž“αž‘αŸαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αž»αžαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžŠαŸαž›αŸ’αž’αžŠαŸ‚αž›αž€αžΆαžšαž–αžΆαžšαž’αŸ’αž“αž€αž–αžΈαž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ Patroni αž“αž·αž„ DCS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž“αŸ…αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆ 30 αžœαž·αž“αžΆαž‘αžΈαž‚αžΊαž‡αžΆαžαž˜αŸ’αž›αŸƒ ttl αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ”

αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αžœαžΆαž’αžΆαž…αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ‚αž›αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž“αŸ…αž€αŸ’αž“αž»αž„ DCS αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΆαž˜αž–αž·αžαžœαžΆαž’αžΆαž…αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž¬αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž™αžΊαžαž™αŸ‰αžΆαžœαž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡ αž–αŸ„αž›αž‚αžΊ αžšαžΏαž„αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž–αŸαž›αžœαŸαž›αžΆαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž‘αŸαŸ” αž αžΎαž™αžœαžΆαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž–αžΈαžšαžΌαž”αž—αžΆαž–αž–αž·αžαž“αŸ„αŸ‡αž‘αŸαŸ” αž αžΎαž™αžœαžΆαž˜αž·αž“αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαžŠαŸαž”αŸ’αžšαžŽαž·αžαž›αžΎαžœαžΆαž‘αŸαŸ”

αž αžΎαž™αž αžΆαž“αž·αž—αŸαž™αž“αŸƒαž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž“αŸ…αžαŸ‚αž˜αžΆαž“αŸ” αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸαž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αž αžšαžΌαž”αž˜αž“αŸ’αžαž˜αž½αž™ αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αž’αŸ’αž™αž˜ αžšαžΌαž”αž˜αž“αŸ’αžαž˜αž½αž™αž‘αŸ€αžαŸ” αž“αŸ„αŸ‡αž‚αžΊαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αžšαŸ€αž”αž…αŸ†αž•αŸ‚αž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž Patroni αž“αž·αž„αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžαžΆαžαžΎαž™αžΎαž„αž’αžΆαž…αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαžšαžΌαž”αž˜αž“αŸ’αžαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αžŸαŸ’αžšαž˜αŸƒαž˜αžΎαž›αžαžΆαžαžΎαž™αžΎαž„αž’αžΆαž…αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αŸ”

αž αžΎαž™αž˜αžΆαž“αžŠαŸ†αžŽαžΉαž„αž›αŸ’αž’αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸαž…αžΆαžŸαŸ‹αž”αžΆαž“αž‘αŸ…αž˜αž»αž“ αž‚αžΆαžαŸ‹αž’αžΆαž…αž‘αŸ…αž˜αž»αžαž”αžΆαž“αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αž‘αŸƒαžαžΆαž„αž€αŸ’αžšαŸ„αž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž“αŸ„αŸ‡αž‚αžΊαž˜αžΆαž“αž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒ autovacuum αž‚αžΆαžαŸ‹αž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αž½αž€αžœαžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž αžΎαž™αž™αžΎαž„αž’αžΆαž…αž˜αž·αž“αž’αžΎαž–αžΎ αž“αž·αž„αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ” αž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž€αŸ’αž“αž»αž„αžšαžΏαž„αž“αŸαŸ‡αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž˜αžΎαž›αž‘αŸ…αž”αŸ’αžšαžŸαž·αž“αž”αžΎ maximum_lag_on_failover αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αž αžΎαž™αž―αž€αžŸαžΆαžšαž˜αž½αž™αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„ αž αžΎαž™αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž˜αŸαžαŸ’αž˜αžΈαŸ” αž’αŸ’αž“αž€αž…αž˜αŸ’αž›αž„αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžαŸ’αž›αž½αž“αž―αž„αžαžΆαž‚αŸ’αž˜αžΆαž“αžŸαž˜αžαŸ’αžαž—αžΆαž–αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αžαŸ” αž αžΎαž™αž“αžΆαž„αž”αžŠαž·αžŸαŸαž’αž˜αž·αž“αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžŽαžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αŸ” αž αžΎαž™αž“αžΆαž„αžšαž„αŸ‹αž…αžΆαŸ†αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž˜αŸαžαŸ’αž˜αžΈ αž‘αžΎαž”αž“αžΆαž„αž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αžœαžΆαž”αžΆαž“αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΆαž“αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž˜αžΆαž“αž€αŸ’αžšαž»αž˜αž•αž›αž·αžαž•αž›αžŠαŸ‚αž›αž”αžΆαž“αžŸαžšαžŸαŸαžšαžαžΆαž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™ Postgres αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž˜αŸαžαŸ’αž›αž½αž“αž―αž„αž˜αž·αž“αž’αžΆαž…αž…αžΌαž›αž”αžΆαž“αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž˜αž·αž“αž˜αžΆαž“αžαžΆαž˜αžšαž™αŸˆ SSHαŸ” αž αžΎαž™ autofile αž€αŸαž˜αž·αž“αž€αžΎαžαž‘αžΎαž„αžŠαŸ‚αžšαŸ”

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžαŸ†αž±αŸ’αž™αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž˜αž½αž™αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŠαŸ„αž™αžŠαŸƒ αžŠαžΌαž…αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž›αŸ‹αž“αŸ…αž–αŸαž›αž“αŸαŸ‡αž€αŸαžŠαŸ„αž™αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž‡αžΆαž˜αž½αž™αž˜αŸαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž½αž…αž αžΎαž™αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αž‡αžΆαž˜αž»αž“αžαžΆαž™αžΎαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αžαžΆαžŸ αž–αŸ„αž›αž‚αžΊαž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αžšαž½αž…αž αžΎαž™αž–αžΈαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‡αžΈαž€ αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžšαž€αž˜αžΎαž›αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžšαž”αžŸαŸ‹ Postgres αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž™αžΎαž„β€‹αžƒαžΎαž‰β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžšαž™αŸˆαž–αŸαž›β€‹αž˜αž½αž™ αž–αžΈαžš αž”αžΈβ€‹αžœαž·αž“αžΆαž‘αžΈ αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αž’αž˜αŸ’αž˜αžαžΆβ€‹αž‘αžΆαž›αŸ‹β€‹αžαŸ‚β€‹αžŸαŸ„αŸ‡αŸ” αž™αžΎαž„αž”αžΆαž“αžƒαžΎαž‰αžαžΆ autovacuum αžšαž”αžŸαŸ‹αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž™αžΊαž αž“αž·αž„αž…αž˜αŸ’αž›αŸ‚αž€αžŽαžΆαžŸαŸ‹αŸ” αž αžΎαž™αž™αžΎαž„αž”αžΆαž“αžƒαžΎαž‰αž―αž€αžŸαžΆαžšαž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž“αŸ…αž›αžΎαžαžΆαžŸαŸ” αž“αŸ„αŸ‡αž‚αžΊαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαžΌαž…αž“αžΆαž€αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αžαžΆαžŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž”αŸ’αžšαž–αŸαž“αŸ’αž’ dmesg (αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžαžΊαžŽαŸ‚αž›) αŸ” αž αžΎαž™αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αžαžΆαžŸαž˜αž½αž™αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αžšαž”αžŸαŸ‹αžαžΆαžŸαž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Raid αŸ” αž™αžΎαž„αž”αžΆαž“αž˜αžΎαž›αž“αŸ… /proc/mdstat αž αžΎαž™αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž”αžΆαžαŸ‹αžŠαŸ’αžšαžΆαž™αž˜αž½αž™αŸ” αž“αŸ„αŸ‡αž‚αžΊαž˜αžΆαž“αž€αžΆαžšαžœαžΆαž™αž†αŸ’αž˜αž€αŸ‹αž“αŸƒαžαžΆαžŸαž…αŸ†αž“αž½αž“ 8 αž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αžΆαžαŸ‹αž˜αž½αž™αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŸαŸ’αž›αžΆαž™αžŠαŸ„αž™αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž‘αŸ’αž’αž•αž›αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž™αžΎαž„αž˜αž·αž“αž˜αžΆαž“ sde αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸ…αž™αžΎαž„αž“αž·αž™αžΆαž™αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒ αžαžΆαžŸαž”αžΆαž“αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αŸ” αž“αŸαŸ‡αž”αžΆαž“αž”αž„αŸ’αž€αž±αŸ’αž™αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαžαžΆαžŸ αž αžΎαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸαž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž”αž‰αŸ’αž αžΆαž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜ Postgres αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ Patroni αž“αžΉαž„αž˜αž·αž“αž‡αž½αž™αž™αžΎαž„αžαžΆαž˜αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŽαžΆαž˜αž½αž™αž‘αŸαž–αŸ’αžšαŸ„αŸ‡ Patroni αž˜αž·αž“αž˜αžΆαž“αž—αžΆαžšαž€αž·αž…αŸ’αž…αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαžŒαžΈαžŸαŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ‚β€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡β€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ…αŸ” αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαžΆαžŸαž‘αŸ…αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαžΆαž„αž€αŸ’αžšαŸ…αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”

αž αžΎαž™β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž‚αž·αžβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡ - αžαžΎβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž αŸŠαž»αž˜αž–αŸαž‘αŸ’αž’ αž¬β€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžƒαŸ’αž›αžΆαŸ†αž˜αžΎαž›β€‹αž’αžΆαž…β€‹αž‡αž½αž™β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž‘αŸ? αž™αžΎαž„αž‚αž·αžαžαžΆαž‚αžΆαžαŸ‹αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž˜αž·αž“αž”αžΆαž“αž‡αž½αž™αž™αžΎαž„αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž‘αŸ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž˜αžΆαž“αž”αž‰αŸ’αž αžΆ Patroni αž”αžΆαž“αž”αž“αŸ’αžαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž…αž„αŸ’αž€αŸ„αž˜ DCS αž αžΎαž™αž˜αž·αž“αžƒαžΎαž‰αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαž‘αžΎαž™αŸ” αž“αŸ„αŸ‡αž‚αžΊαžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαžšαž”αžŸαŸ‹ DCS αž“αž·αž„ Patroni αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž›αŸ’αž’αž‡αžΆαž˜αž½αž™αž…αž„αŸ’αž€αŸ„αž˜ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž€αžΆαžšαž–αž·αžαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αžαžΆαžŸαž€αŸαžŠαŸ„αž™ αž€αŸαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαžΆαž˜αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž αžΆαž…αŸ†αž›αŸ‚αž€αž˜αž½αž™ αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžšαžŽαžΆαžŸαŸ‹αž˜αž€αž αžΎαž™ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αžΆαž“αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‡αžΆαž…αŸ’αžšαžΎαž“ αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‘αžΎαž„αžœαž·αž‰ αž αžΎαž™αž αŸ…αžœαžΆαžαžΆ αž€αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž…αž„αŸ’αž€αŸ„αž˜αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαž˜αŸαž…αžΆαžŸαŸ‹αž˜αž·αž“αž’αžΆαž…αž€αŸ’αž›αžΆαž™αž‡αžΆαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž’αž˜αŸ’αž˜αžαžΆαž”αžΆαž“αž‘αŸ αž–αŸ„αž›αž‚αžΊ Patroni αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžœαžΆ Patroni αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαžΆαžαŸ’αž“αžΆαŸ†αž„αž“αŸαŸ‡αž˜αžΆαž“αžœαžαŸ’αžαž˜αžΆαž“αž‡αžΆαž’αŸ’αž“αž€αž…αž˜αŸ’αž›αž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž’αž˜αŸ’αž˜αžαžΆαž“αŸ„αŸ‡αž‘αŸαŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αž˜αžΌαž›αž αŸαžαž»αŸ” αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αžΈαž€αžΆαžšαžœαž·αž—αžΆαž‚αž“αŸƒαž”αž‰αŸ’αž αžΆαž“αŸ„αŸ‡αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αžαžΎαžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαžΌαž…αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž αžΆαž˜αž»αž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž αŸ’αžœαŸ’αžšαžΆαŸ†αž„αžŒαžΈαžŸαŸ” αž™αžΎαž„αž˜αžΆαž“αž€αžΆαžšαžŸαž“αŸ’αž™αžΆαž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ αž–αžΈαžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž˜αžΆαž“αž€αžΆαžšαž”αŸ‚αž€αž’αŸ’αž›αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ αž–αŸ„αž›αž‚αžΊαž’αžαž·αžαž·αž‡αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž αŸ‚αž€αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž˜αžΆαž“αž€αžΆαžšαžŸαŸ’αž‘αŸ‡αž“αŸƒαž—αžΆαž–αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αžαžΆαž˜αž“αŸ„αŸ‡ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αžšαž”αžŸαŸ‹αžαžΆαžŸαž˜αž·αž“αž†αŸ’αž›αžΎαž™αžαž”αžαŸ’αž›αžΆαŸ†αž„αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αžšαžΏαž„αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž‚αžΊαžŸαŸ†αžŽαžΎαžšαž”αž·αž‘αž‡αžΆαž”αž“αŸ’αž‘αžΆαž“αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αŸ” Postgres αž˜αžΆαž“αžšαž”αŸ€αž”αž”αž·αž‘αž”αžΈαŸ–

  • αžœαžΆαž–αž·αžαž‡αžΆαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αžšαž„αŸ‹αž…αžΆαŸ†αž’αžαž·αžαž·αž‡αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž•αŸ’αžαžΆαž…αŸ‹αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ”
  • αžœαžΆαž˜αžΆαž“αž›αŸ’αž”αžΏαž“αž›αžΏαž“αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž”αž„αŸ’αžαŸ†αž’αžαž·αžαž·αž‡αž“αž±αŸ’αž™αž•αŸ’αžαžΆαž…αŸ‹αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž™αžΎαž„αž“αžΉαž„αž”αž·αž‘αŸ”
  • αž“αž·αž„αž‡αžΆαž”αž“αŸ’αž‘αžΆαž“αŸ‹αŸ” αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡ αž—αŸ’αž›αžΆαž˜β€‹αŸ—β€‹αž€αŸβ€‹αž˜αž·αž“β€‹αž”αŸ’αžšαžΆαž”αŸ‹β€‹αž’αžαž·αžαž·αž‡αž“β€‹αž±αŸ’αž™β€‹αž”αž·αž‘β€‹αžŠαŸ‚αžš αž‚αžΊβ€‹αž”αž·αž‘β€‹αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž–αŸ’αžšαž˜αžΆαž“β€‹αŸ” αž αžΎαž™αž…αŸ†αž–αŸ„αŸ‡αž’αžαž·αžαž·αž‡αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αžΆαž“αž•αŸ’αž‰αžΎαžŸαžΆαžš RST αžšαž½αž…αž αžΎαž™ (សអរ TCP αžŠαŸ‚αž›αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ†αžαžΆαž“ αž αžΎαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž‘αŸ€αžαž‘αŸ)αŸ”

αžαžΎαž’αŸ’αž“αž€αžŽαžΆαž‡αžΆαž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΌαž“αžŸαž‰αŸ’αž‰αžΆαž“αŸαŸ‡? αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αž‘αŸƒαžαžΆαž„αž€αŸ’αžšαŸ„αž™ Postgres αž˜αž·αž“αž”αž‰αŸ’αž‡αžΌαž“αžŸαž‰αŸ’αž‰αžΆαž”αŸ‚αž”αž“αŸαŸ‡αž‘αŸ…αž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αž‘αŸ αž–αŸ„αž›αž‚αžΊαž“αŸαŸ‡αž‚αžΊαž‡αžΆ kill-9 αŸ” αž–αž½αž€αž‚αŸαž˜αž·αž“αž•αŸ’αž‰αžΎαžšαžΏαž„αž”αŸ‚αž”αž“αŸαŸ‡αž‘αŸ…αž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αž‘αŸ αž–αž½αž€αž‚αŸαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αž…αŸ†αž–αŸ„αŸ‡αžšαžΏαž„αž”αŸ‚αž”αž“αŸαŸ‡ αž–αŸ„αž›αž‚αžΊαž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αž‡αžΆαž”αž“αŸ’αž‘αžΆαž“αŸ‹αžšαž”αžŸαŸ‹ PostgresαŸ” αž’αŸ’αž“αž€αžŽαžΆαž•αŸ’αž‰αžΎαž˜αž€ αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αžŠαžΉαž„αž‘αŸαŸ”

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "αž…αž»αž„αž€αŸ’αžšαŸ„αž™" αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžƒαžΎαž‰αž˜αž“αž»αžŸαŸ’αžŸαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž…αžΌαž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž™αžΎαž„αžŠαŸ‚αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αžαŸ’αž˜αžΆαžŸαŸ‹αž’αŸ€αž“αž–αŸαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž½αžšαžŸαŸ†αžŽαž½αžšαž˜αž½αž™αŸ” αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž›αžΆαž”αŸ‹ -9 αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžƒαžΎαž‰αžŸαž˜αŸ’αž›αžΆαž”αŸ‹ -៩ αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ Postgres αž“αž·αž™αžΆαž™αžαžΆαžœαžΆαž”αžΆαž“αžŸαž˜αŸ’αž›αžΆαž”αŸ‹ -9 αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αžƒαžΎαž‰αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžαŸ’αž‰αž»αŸ†αžƒαžΎαž‰αžαžΆ Patroni αž˜αž·αž“αž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αŸ…αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™ - 54 αžœαž·αž“αžΆαž‘αžΈαŸ” αž αžΎαž™β€‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž™αžΎαž„β€‹αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”β€‹αž€αžΆαžšβ€‹αž”αŸ„αŸ‡αžαŸ’αžšαžΆβ€‹αž–αžΈαžšαžŠαž„β€‹αž“αŸ„αŸ‡β€‹αž˜αž·αž“αž˜αžΆαž“β€‹αžŸαžΆαžšβ€‹αž”αŸ’αžšαž αŸ‚αž› 54 αžœαž·αž“αžΆαž‘αžΈβ€‹αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸαŸ‡αž˜αžΆαž“αž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” Patroni αž’αŸ’αžœαžΎαž”αžΆαž“αž›αŸ’αž’αžŽαžΆαžŸαŸ‹αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž˜αŸ’αž…αžΆαžŸαŸ‹αž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‘αŸ αž˜αžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™αž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž‚αžΆαžαŸ‹αŸ” αž αžΎαž™αž€αžΆαžšαž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αžαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž…αŸ…αž αŸ’αžœαžΆαž™αž“αžΆαž™αžαŸ’αž˜αžΈαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αž›αŸ’αž’αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ” pgsql01 αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αžαŸ’αž˜αžΈαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž™αžΎαž„αž˜αžΆαž“αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αŸαŸ” αž αžΎαž™αž˜αžΆαž“αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž‘αžΈαž–αžΈαžšαŸ” αž αžΎαž™αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‘αžΈαž–αžΈαžšαŸ” αž“αžΆαž„αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΎαž„αžœαž·αž‰αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž™αž›αŸ‹αž αžΎαž™ αž“αžΆαž„αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš recovery.conf αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Postgres αž‘αžΎαž„αžœαž·αž‰ αž αžΎαž™αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸαžαŸ’αž˜αžΈαŸ” αž“αžΆαž„β€‹αžŸαžšαžŸαŸαžšβ€‹αžŸαžΆαžšβ€‹αžšαžΆαž›αŸ‹ ៑០ αžœαž·αž“αžΆαž‘αžΈβ€‹αžŠαŸ‚αž›β€‹αž“αžΆαž„β€‹αž–αŸ’αž™αžΆαž™αžΆαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž“αžΆαž„β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž‡αŸ„αž‚αž‡αŸαž™β€‹αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž–αŸ’αž™αžΆαž™αžΆαž˜αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžŸαž‰αŸ’αž‰αžΆαž”αž·αž‘αž—αŸ’αž›αžΆαž˜αŸ—αž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αž˜αŸαž…αžΆαžŸαŸ‹αŸ” αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αŸ” αž αžΎαž™αž€αžΆαžšαž„αžΎαž”αž‘αžΎαž„αžœαž·αž‰αž€αŸαžˆαž”αŸ‹αžŠαŸ‚αžš αžŠαŸ„αž™αžŸαžΆαžšαž˜αŸαž…αžΆαžŸαŸ‹αž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΎαž„αžœαž·αž‰αŸ” αž“αŸ„αŸ‡αž‚αžΊαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž·αž“αž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αžœαžΆαž”αžΆαž“αž‘αŸαž–αŸ’αžšαŸ„αŸ‡αžœαžΆαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž”αž·αž‘αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αŸ…αž…αŸ†αžŽαž»αž…αžαŸ’αž›αŸ‡αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž·αž“αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αŸαŸ”

αž€αžΆαžšαžŸαŸ’αž˜αžΆαž“αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‚αžΊαžαžΆαž˜αžΆαž“αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž˜αŸαž…αžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ recovery.conf αŸ” αž αžΎαž™αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸαžαŸ’αž˜αžΈαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“ αž’αŸ’αž“αž€αž…αž˜αŸ’αž›αž„αž‘αžΈαž–αžΈαžšαž“αŸ…αžαŸ‚αž–αŸ’αž™αžΆαž™αžΆαž˜αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž˜αŸαž…αžΆαžŸαŸ‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› Patroni αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ…αž›αžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‘αžΈαž–αžΈαžš αžαŸ’αž“αžΆαŸ†αž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž’αžΆαž…αž…αž˜αŸ’αž›αž„αž”αžΆαž“αž‘αŸαŸ” αž αžΎαž™αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„ αžŠαŸ‚αž›αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ” αž“αŸ„αŸ‡αž‚αžΊαžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž”αžΈαž“αŸ…αž“αžΉαž„αž€αž“αŸ’αž›αŸ‚αž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž“αžΆαŸ†αž„αž‘αžΈαž–αžΈαžšαž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ„αž™αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžš αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αžαžΆαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž·αž“αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αžΆαž“αž‘αŸ αžŠαŸ„αž™αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαž»αžŸαž‚αŸ’αž“αžΆαŸ” αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αžŠαŸ‚αž›αž˜αŸαž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ recovery.conf αž‚αžΊαž˜αž·αž“αžŸαž˜αž“αžΉαž„αžαŸ’αž“αžΆαŸ†αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αŸ’αžœαžΎαžαž»αžŸαŸ” αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž˜αž€αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ recovery.conf αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αžŸαž˜αŸ’αž˜αžαž·αž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αžαžΆαž™αžΎαž„αž€αŸ†αž–αž»αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸαžαž»αžŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžαŸ’αž‰αž»αŸ†αž‘αžΎαž”αžαŸ‚αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαžΏαž„αž“αŸαŸ‡ αž αžΎαž™αžœαžΆαž˜αž·αž“αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αž‘αŸ αž¬αžαŸ’αž‰αž»αŸ†αžƒαžΎαž‰αžαžΆαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž“αŸαŸ‡αž€αŸ†αž–αž»αž„αž™αžΊαžαž™αŸ‰αžΆαžœ αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αŸ†αž–αŸαž‰αž‘αžΎαž„αžœαž·αž‰ αž–αŸ„αž›αž‚αžΊαžαŸ’αž‰αž»αŸ†αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαŸ„αž™αž˜αž·αž“αž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αŸ” αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαžšαž½αž˜αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 30 αž“αžΆαž‘αžΈ, αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αžΆαž“αž˜αž€αžšαž½αž…αž αžΎαž™, αž§αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ Patroni αž‘αžΎαž„αžœαž·αž‰αž“αŸ…αž›αžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž”αž‰αŸ’αž…αž”αŸ‹β€‹αžœαžΆβ€‹αžšαž½αž…β€‹αž αžΎαž™ αžαŸ’αž‰αž»αŸ†β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αžœαžΆβ€‹αž“αžΉαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ†αž–αŸαž‰β€‹αŸ” αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αž·αž - αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Patroni αž‘αžΎαž„αžœαž·αž‰ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž›αŸ’αž’αž“αžΉαž„αž…αŸαž‰αž˜αž€αŸ” αž€αžΆαžšαžŸαŸ’αžαžΆαžšαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž αžΎαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αžΎαž€αžœαžΆαžšαž½αž…αžšαžΆαž›αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž™αž€αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž αžΎαž™αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž˜αž½αž™β€‹αž“αžΆαž‘αžΈβ€‹αž€αŸ’αžšαŸ„αž™β€‹αž˜αž€ αž“αžΆαž„β€‹αž”αžΆαž“β€‹αž’αŸ’αž›αžΆαž€αŸ‹β€‹αž…αŸαž‰β€‹αžŠαŸ„αž™β€‹αž˜αžΆαž“β€‹αž€αŸ†αž αž»αžŸβ€‹αžαžΆβ€‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αž˜αž·αž“β€‹αžŸαž˜αžšαž˜αŸ’αž™β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž“αžΆαž„αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ Patroni αž˜αŸ’αžαž„αž‘αŸ€αž αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ Postgres αž‘αžΎαž„αžœαž·αž‰αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ Patroni αž‘αžΎαž„αžœαž·αž‰αžŠαŸ„αž™αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαžœαžΆαž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž˜αž“αŸ’αžαž’αžΆαž‚αž˜αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž€αžΆαžšβ€‹αž…αž˜αŸ’αž›αž„β€‹αž”αžΆαž“β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžŠαžΎαž˜β€‹αž˜αŸ’αžŠαž„β€‹αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžŸαž‰αŸ’αž‰αžΆβ€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αž‚αžΊβ€‹αžαž»αžŸβ€‹αž‚αŸ’αž“αžΆ αž˜αž·αž“β€‹αžŠαžΌαž…β€‹αž€αžΆαžšβ€‹αž–αŸ’αž™αžΆαž™αžΆαž˜β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžŠαžΎαž˜β€‹αž˜αž»αž“β€‹αž“αŸ„αŸ‡β€‹αž‘αŸαŸ” αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž”αžΆαž“αžˆαž”αŸ‹αž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž αžΎαž™β€‹αžŸαžΆαžšβ€‹αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αžαž»αžŸβ€‹αž‚αŸ’αž“αžΆβ€‹αž”αž“αŸ’αžαž·αž…β€‹αž αžΎαž™αŸ” αž αžΎαž™αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αžαŸ’αž‰αž»αŸ† - αž…αž»αŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ Postgres αž‘αžΎαž„αžœαž·αž‰αž“αŸ…αž–αŸαž›αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž›αžΎαž˜αŸαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž…αŸ†αžŽαž»αž…αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αŸ…αž˜αž»αžαž”αž“αŸ’αžαž·αž… αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž€αžΆαžšαž„αžΎαž”αž‘αžΎαž„αžœαž·αž‰αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αžΈαž–αŸαž›αž•αŸ’αžŸαŸαž„αž‘αŸ€αž? αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž™αžΎαž„αž“αŸ…αžαŸ‚αž˜αžΆαž“αž—αžΆαž‚αž αŸŠαž»αž“αžšαž”αžŸαŸ‹ WALαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ Patroni αž‘αžΎαž„αžœαž·αž‰ αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž–αžΈαžšαž”αžΈαž“αŸ…αž›αžΎαž˜αŸ αž…αŸ†αžŽαž»αž…αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αž–αžΈαžšαž”αžΈαž“αŸ…αž›αžΎαž…αž˜αŸ’αž›αž„αž“αŸ…αž–αŸαž›αžœαžΆαž”αžΎαž€αŸ” αž αžΎαž™αžœαžΆαž”αžΆαž“αž‡αž½αž™αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αž·αžαž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžœαžΆαž‡αž½αž™ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž αžΎαž™αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž αžΎαž™αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž αŸ‚αž€αž‘αŸ€αžαž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž”αž‰αŸ’αž αžΆβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž‰αž»αŸ†β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž”αž‰αŸ’αž αžΆβ€‹αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„β€‹αž˜αž½αž™β€‹αž‘αŸ€αž αžŠαŸ‚αž›β€‹αžαŸ’αž‰αž»αŸ†β€‹αž“αŸ…β€‹αžαŸ‚β€‹αž†αŸ’αž„αž›αŸ‹β€‹αž’αŸ†αž–αžΈβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž”αžΆαž“β€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž“αŸ…β€‹αž‘αžΈαž“αŸ„αŸ‡αŸ”

αžαžΎαž˜αžΆαž“αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αž“αŸ…αž‘αžΈαž“αŸαŸ‡? Patroni αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαžŠαžΌαž…αž”αŸ†αžŽαž„ αž“αž·αž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αŸ†αž αž»αžŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αžΆαžšαž’αžΆαž“αžΆ 100% αžαžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž›αŸ’αž’αž‡αžΆαž˜αž½αž™αž™αžΎαž„αž“αŸ„αŸ‡αž‘αŸαŸ” αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž’αžΆαž…αžŸαŸ’αžαž·αžαž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž”αŸ‚αž”αž“αŸαŸ‡αž”αžΆαž“αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αžΆαžŸαŸ‹αŸ”

αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš αž’αŸ’αž“αž€αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αžŠαžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž…αž„αŸ’αž€αŸ„αž˜ αž“αŸ„αŸ‡αž‚αžΊαž˜αžΆαž“αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‘αŸαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž αžΎαž™αž“αŸ…αž–αŸαž›αž™αžΎαž„αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž”αž‰αŸ’αž…αžΌαž›αž–αž½αž€αžœαžΆαž‘αŸ…αž‡αžΆαžŸαŸ’αž›αžΆαž™αž–αžΈαžšαŸ” αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžšαžΏαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αžΆαž…αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαžŸαŸ’αž›αžΆαž™αž–αžΈαžš αž αžΎαž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžΆαž”αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ Patroni αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ” αž’αŸ’αž“αž€αž‚αž½αžšαžŠαžΉαž„αž‡αžΆαž“αž·αž…αŸ’αž…αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› autofileover αž€αžΎαžαž‘αžΎαž„ αž–αŸ’αžšαŸ„αŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αžŠαžΉαž„αžαžΆαž’αŸ’αž“αž€αž˜αžΆαž“ autofileover αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž›αžΎ cluster αž‘αŸαŸ” αž αžΎαž™αž“αŸ„αŸ‡αž‡αžΆαžšαžΏαž„αž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ filer αž“αžΈαž˜αž½αž™αŸ— αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž–αž·αž“αž·αžαŸ’αž™ cluster αžŠαŸ„αž™αžŠαŸƒαŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž›αŸαžαž…αž˜αŸ’αž›αž„αž‘αžΆαž“αŸ‹αžŸαž˜αŸαž™αž‡αžΆαž“αž·αž…αŸ’αž… αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž™αžΊαžαž™αŸ‰αžΆαžœ αž˜αž·αž“αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž‡αžΆαž˜αž½αž™ Patroni αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ DCS αŸ”

αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™ Patroni αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αŸ” αžœαžΆαž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž“αžΉαž„αž˜αž·αž“αž“αžΆαŸ†αž…αž„αŸ’αž€αŸ„αž˜αž‘αŸ…αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“αž“αŸ„αŸ‡αž‘αŸαŸ” αž αžΎαž™β€‹αž”αžΎβ€‹αž™αžΎαž„β€‹αž˜αž·αž“β€‹αžŠαžΉαž„β€‹αž–αžΈβ€‹αžœαžΆβ€‹αž‘αŸ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž˜αžΆαž“β€‹αž”αž‰αŸ’αž αžΆαŸ”

αž αžΎαž™ Patroni αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‚αŸ’αžšαžΆαž”αŸ‹αž€αžΆαŸ†αž—αŸ’αž›αžΎαž„αž‘αŸαŸ” αž™αžΎαž„αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› Postgres αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžšαž”αŸ€αž”αž…αž˜αŸ’αž›αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž› Patroni αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ Postgres αž“αž·αž„αžšαž”αŸ€αž”αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαžœαžΆαž„αžαŸ’αž“αžΆαŸ†αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αŸ” αž“αŸαŸ‡αž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž…αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαžŠαŸ„αž™αžŠαŸƒαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαžΎαžαŸ’αž‰αž»αŸ†αž‘αžΆαž€αŸ‹αž‘αž„αž”αž‰αŸ’αž αžΆαžšαŸ„αž‚αžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αžœαžΆαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΆαž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž’αžαž·αžαž·αž‡αž“αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž˜αžΆαž“αž‡αž„αŸ‹ ELK αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαžαž˜αŸ’αžšαŸ€αž”αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŠαŸ„αž™αž”αžΎαž€ 6 αž€αž»αž„αžŸαžΌαž› αž“αž·αž„ 2 αž•αŸ’αž‘αžΆαŸ†αž„αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž˜αž½αž™ αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžšαž”αžŸαŸ‹ Patroni αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž“αžΆαŸ†αž„αž“αžΈαž˜αž½αž™αŸ— αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αž»αž„αžŸαŸŠαž»αž› ឬ Postgres αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ” αžœαžΆαž–αž·αž”αžΆαž€αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžšαŸ„αž‚αžœαž·αž“αž·αž…αŸ’αž†αŸαž™αž“αŸαŸ‡αŸ”

αžαžΎαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž€αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡? αž‘αžΈαž˜αž½αž™ αžαŸ’αž‰αž»αŸ†αžαŸ‚αž„αžαŸ‚αžšαž€αž˜αžΎαž›αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαž”αžΆαž“αž˜αž€αžŠαž›αŸ‹αŸ” αž αžΎαž™β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž‰αž»αŸ†β€‹αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž‘αžΉαž€β€‹αŸ” αžαŸ’αž‰αž»αŸ†αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž˜αž»αž“αž–αŸαž›αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš αž€αŸ†αž‘αž»αž„αž–αŸαž›αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš αž“αž·αž„αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαŸ” αž€αžΆαžšαžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαž˜αžΆαž“αžŸαž‰αŸ’αž‰αžΆαž–αžΈαžšαŸ– αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž“αž·αž„αž”αž‰αŸ’αž…αž”αŸ‹αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž‘αŸ€αž αžαŸ’αž‰αž»αŸ†αžšαž€αž˜αžΎαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž˜αž»αž“αž–αŸαž›αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš αžŠαŸ‚αž›αž“αžΆαŸ†αž˜αž»αžαž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš αž–αŸ„αž›αž‚αžΊαžαŸ’αž‰αž»αŸ†αžšαž€αž˜αžΎαž›αž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžšαž€αžΎαžαž‘αžΎαž„αŸ”

αž αžΎαž™αž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžšαžΌαž”αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„ αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž αžŠαžΎαž˜αŸ’αž”αžΈαž€αž»αŸ†αž±αŸ’αž™αž€αžΆαž›αŸˆαž‘αŸαžŸαŸˆαž”αŸ‚αž”αž“αŸαŸ‡αž€αžΎαžαž‘αžΎαž„ (αž αžΎαž™αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž‚αžΊαž‚αŸ’αž˜αžΆαž“αž―αž€αžŸαžΆαžš)αŸ”

αž αžΎαž™αžαžΎαž™αžΎαž„αž˜αžΎαž›αž‘αŸ…αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž“αŸ…αž―αžŽαžΆ? αžαŸ’αž‰αž»αŸ†β€‹αž˜αžΎαž›:

  • αž‘αžΈαž˜αž½αž™αž‘αŸ…αž€αžΆαž“αŸ‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» Patroni αŸ”
  • αž”αž“αŸ’αž‘αžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» Postgres αž¬αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» DCS αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžšαž”αžŸαŸ‹ Patroni αŸ”
  • αž αžΎαž™β€‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»β€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’β€‹αž€αŸβ€‹αž‡αž½αž“αž€αžΆαž›β€‹αž•αŸ’αžαž›αŸ‹β€‹αž±αŸ’αž™β€‹αž“αžΌαžœβ€‹αž€αžΆαžšβ€‹αž™αž›αŸ‹β€‹αžŠαžΉαž„β€‹αž’αŸ†αž–αžΈβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž”αžŽαŸ’αžαžΆαž›β€‹αž±αŸ’αž™β€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž―αž€αžŸαžΆαžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžαžΎαžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž™αŸ‰αžΆαž„αžŽαžΆαž…αŸ†αž–αŸ„αŸ‡ Patroni? αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž›αŸ’αž’αž‡αžΆαž˜αž½αž™ Patroni αŸ” αžαžΆαž˜αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž“αŸαŸ‡αž‚αžΊαž›αŸ’αž’αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž–αŸ’αžœαžαŸ’αž„αŸƒαž“αŸαŸ‡αŸ” αžαŸ’αž‰αž»αŸ†αžŸαŸ’αž‚αžΆαž›αŸ‹αž•αž›αž·αžαž•αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊ Stolon, Repmgr, Pg_auto_failover, PAF αŸ” 4 αž§αž”αž€αžšαžŽαŸαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž–αž½αž€αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” Patroni αž‚αžΊαž‡αžΆαžŸαŸ†αžŽαž–αŸ’αžœαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž–αž½αž€αž‚αŸαžŸαž½αžšαžαŸ’αž‰αž»αŸ†αžαžΆ "αžαžΎαžαŸ’αž‰αž»αŸ†αžŽαŸ‚αž“αžΆαŸ† Patroni αž‘αŸ?" αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αžαžΆ αž”αžΆαž‘ αž–αŸ’αžšαŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αž Patroni αŸ” αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαŸ€αž“αž–αžΈαžšαž”αŸ€αž”αž…αŸ†αž’αž·αž“αžœαžΆαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž˜αžΎαž›αžαžΆαžαžΎαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž˜αžΆαž“αž‡αžΆαž˜αž½αž™ Patroni αž€αŸ’αžšαŸ…αž–αžΈαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αž“αŸ„αŸ‡ αž’αŸ’αž“αž€αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž‘αŸ†αž–αŸαžš αž”αž‰αŸ’αž αžΆ αž“αŸ…αž›αžΎ GitHub αŸ” αž˜αžΆαž“αžšαžΏαž„αž”αŸ’αž›αŸ‚αž€αŸ—αž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™αž”αž‰αŸ’αž αžΆαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž αžΎαž™αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž€αŸ†αž αž»αžŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ† αž“αž·αž„αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž–αŸ„αž›αž‚αžΊαž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž’αžΆαž“αžŠαŸαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž½αž™αŸ”

αž˜αžΆαž“αžšαžΏαž„αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αž–αžΈαž˜αž“αž»αžŸαŸ’αžŸαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž‡αžΎαž„αŸ” αž–αŸαžαŸŒαž˜αžΆαž“αž›αŸ’αž’αžŽαžΆαžŸαŸ‹αŸ” αž’αŸ’αž“αž€αž’αžΆαž“αž αžΎαž™αž™αž›αŸ‹αžαžΆαžœαžΆαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αžΌαžŸαžαŸ’αž›αž½αž“αž―αž„αŸ”

αž αžΎαž™αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžαŸ’αž›αŸ‚αž„αž’αŸ†αžŽαžšαž‚αž»αžŽαž™αŸ‰αžΆαž„αž‡αŸ’αžšαžΆαž›αž‡αŸ’αžšαŸ…αž…αŸ†αž–αŸ„αŸ‡ Zalando αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡ αž–αŸ„αž›αž‚αžΊαž…αŸ†αž–αŸ„αŸ‡ Alexander Kukushkin αž“αž·αž„ Alexey Klyukin αŸ” Aleksey Klyukin αž‚αžΊαž‡αžΆαžŸαž αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’αž˜αŸ’αž“αžΆαž€αŸ‹ αž‚αžΆαžαŸ‹αž›αŸ‚αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ… Zalando αž‘αŸ€αžαž αžΎαž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αž“αž»αžŸαŸ’αžŸαž–αžΈαžšαž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž•αž›αž·αžαž•αž›αž“αŸαŸ‡αŸ”

αž αžΎαž™β€‹αžαŸ’αž‰αž»αŸ†β€‹αž‚αž·αžβ€‹αžαžΆ Patroni αž‚αžΊβ€‹αž‡αžΆβ€‹αžšαžΏαž„β€‹αž›αŸ’αž’β€‹αžŽαžΆαžŸαŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαžŠαŸ‚αž›αž“αžΆαž„αž˜αžΆαž“ αžœαžΆαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‡αžΆαž˜αž½αž™αž“αžΆαž„αŸ” αž αžΎαž™αžŸαžΌαž˜αžαŸ’αž›αŸ‚αž„αž’αŸ†αžŽαžšαž‚αž»αžŽαž™αŸ‰αžΆαž„αž‡αŸ’αžšαžΆαž›αž‡αŸ’αžšαŸ…αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž”αŸ†αžŽαŸ‡αžŠαž›αŸ‹ Patroni αŸ” αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆ Patroni αž“αžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž—αžΆαž–αž…αžΆαžŸαŸ‹αž‘αž»αŸ† αžαŸ’αžšαž‡αžΆαž€αŸ‹ αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αŸ…αžαžΆαž˜αž’αžΆαž™αž»αŸ” αžœαžΆαž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαžšαž½αž…αž αžΎαž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαžœαžΆαž“αžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž”αŸ’αžšαžΎ Patroni αž“αŸ„αŸ‡αž€αž»αŸ†αžαŸ’αž›αžΆαž…αž’αžΈαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸαž›αŸ’αž’ αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αŸ”

αž’αžŸαŸ‹αž αžΎαž™αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαžŸαžΌαž˜αžŸαž½αžšαŸ”

Patroni Failure Stories αž¬αžšαž”αŸ€αž”αž‚αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜ PostgreSQL αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Alexey Lesovsky

αžŸαŸ†αžŽαž½αžš

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ! αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž―αž€αžŸαžΆαžš αž’αŸ’αž“αž€αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαžšαž€αž˜αžΎαž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αžŠαŸ„αž™αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“ αž“αŸ„αŸ‡αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž―αž€αžŸαžΆαžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·?

αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž‡αžΆαžšαž”αžŸαŸ‹αžαŸ’αž˜αžΈαŸ” αž™αžΎαž„β€‹αž“αŸ…β€‹αž‡αžΆαž˜αž½αž™β€‹αž“αžΆαž„β€‹αž”αžΆαž“β€‹αžαŸ‚β€‹αž˜αž½αž™β€‹αž†αŸ’αž“αžΆαŸ†β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” αž™αžΎαž„β€‹αž…αž„αŸ‹β€‹αž…αžΌαž›β€‹αž˜αž€β€‹αž˜αžΎαž›β€‹αžαžΆβ€‹αž’αŸ’αžœαžΈβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž™αŸ‰αžΆαž„β€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž”αžΆαž“β€‹αžŸαž˜αŸ’αžšαŸαž…β€‹αžŠαžΌαž…β€‹αžŠαŸ‚αž›β€‹αžœαžΆβ€‹αž‚αž½αžšβ€‹αž’αŸ’αžœαžΎαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž˜αž·αž“αž‘αž»αž€αž…αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž–αŸαž‰αžœαŸαž™ - αžœαžΆαž‡αžΆαž€αžΆαžšαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž˜αž»αž“αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž–αžΈαžšαžŠαž„αž“αž·αž„αž˜αžΎαž›αžƒαžΎαž‰αŸ”

αž§αž‘αžΆαž αžšαžŽαŸβ€‹αžαžΆβ€‹αž™αžΎαž„β€‹αž‘αŸ…β€‹αž–αŸαž›β€‹αž–αŸ’αžšαžΉαž€β€‹αž αžΎαž™β€‹αž˜αžΎαž›β€‹αž˜αŸ‚αž“β€‹αž‘αŸ?

αž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž–αŸαž›αž–αŸ’αžšαžΉαž€αž‘αŸ αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž™αžΎαž„αžšαŸ€αž“αž’αŸ†αž–αžΈαž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž—αŸ’αž›αžΆαž˜αŸ—αŸ” αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„ αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αŸ” αž™αžΎαž„αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αŸ…αž˜αžΎαž›αž—αŸ’αž›αžΆαž˜αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž“αžΆαŸ†αž™αž€αž‘αŸ…αž€αž˜αŸ’αžšαž·αžαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΌαž›αž”αŸ’αžšαžΎ Patroni αžαžΆαž˜αžšαž™αŸˆ REST API αž˜αžΆαž“αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αžαžΆαž˜β€‹αž”αŸ’αžšαžœαžαŸ’αžαž· αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αžƒαžΎαž‰β€‹αžαŸ’αžšαžΆβ€‹αž–αŸαž›β€‹αžœαŸαž›αžΆβ€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž―αž€αžŸαžΆαžšβ€‹αž”αžΆαž“β€‹αž€αžΎαžβ€‹αž‘αžΎαž„αŸ” αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž“αŸαŸ‡αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ” αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž–αžΈβ€‹αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžαŸ’αžš αžαžΎβ€‹αž˜αžΆαž“β€‹αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸβ€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“β€‹αž“αŸ…β€‹αž‘αžΈαž“αŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαž“αŸ„αŸ‡ αž―αž€αžŸαžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž‘αŸ…αž˜αžΎαž›αŸ” αž¬αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αžαžΆαž™αžΎαž„αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž…αž˜αŸ’αž›αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž“αžΉαž„αž€αž“αŸ’αž›αŸ‚αž„ αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž™αžΊαžαž™αŸ‰αžΆαžœαž‘αŸ αž αžΎαž™αž’αŸ’αžœαžΈαŸ—αž‚αžΊαž›αŸ’αž’αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽ!

αž’αžšαž‚αž»αžŽαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™! αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž…αž„αŸ’αž€αŸ„αž˜ DCS αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™αž†αŸ’αž„αžΆαž™αž–αžΈαž…αž„αŸ’αž€αŸ„αž˜ Postgres αž“αŸ„αŸ‡αž…αž„αŸ’αž€αŸ„αž˜αž“αŸαŸ‡αž€αŸαžαŸ’αžšαžΌαžœαž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαžαžΆαž˜αž€αžΆαž›αž€αŸ†αžŽαžαŸ‹αžŠαŸ‚αžšαž‘αŸ? αžαžΎαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αžαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αžŠαŸ‚αž›αž•αŸ’αž“αŸ‚αž€αžαŸ’αž›αŸ‡αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ DCS αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αž·αž‘ αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αž–αž½αž€αž‚αŸ αŸ”αž›αŸ” αžαžΎαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸαŸ‡αž“αŸ…αžšαžŸαŸ‹αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αž αžΎαž™αžαžΎαž’αŸ’αž“αž€αž’αŸ’αžœαžΎαžšαžΏαž„αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ?

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž˜αž½αž™ αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαžαž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž“αŸƒαž”αž‰αŸ’αž αžΆ αžαžΆαžαžΎαž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž˜αž½αž™ αž¬αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž˜αž½αž™αž…αŸ†αž“αž½αž“αž”αžšαžΆαž‡αŸαž™αŸ” αž™αŸ„αž„αž‘αŸ…αžαžΆαž˜αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸαž“αŸαŸ‡ αž™αžΎαž„αž”αž“αŸ’αžαž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αž“αŸƒαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαž”αžšαžΆαž‡αŸαž™αž“αžΈαž˜αž½αž™αŸ— αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΆαž“αž•αŸ‚αž“αž€αžΆαžšαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαŸ’αžαžΆαžšαž‘αžΎαž„αžœαž·αž‰αŸ” αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸƒ DCS αžœαžΆαž˜αž€αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαŸ” αž αžΎαž™β€‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αžœαžΆ αž αžΎαž™β€‹αž™αžΎαž„β€‹αž–αžΉαž„β€‹αž›αžΎβ€‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αžšαž½αž…αž αžΎαž™β€‹αžŠαŸ‚αž›β€‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αžœαžΆβ€‹αž“αž·αž„β€‹αžŸαž˜αžαŸ’αžαž—αžΆαž–β€‹αžšαž”αžŸαŸ‹αž‚αŸβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž‡αž½αžŸαž‡αž»αž›β€‹αžœαžΆβ€‹αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈβ€‹αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹β€‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αžΆαž“ DCS αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡ αž“αŸ„αŸ‡αž™αžΎαž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžœαžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ„αŸ‡αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αž™αžΎαž„αž˜αž·αž“αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαžšαž”αŸ€αž” αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”

αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αžαŸ’αž‰αž»αŸ†β€‹αž™αž›αŸ‹β€‹αž”αžΆαž“β€‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœβ€‹αžαžΆβ€‹αžαŸ’αž‰αž»αŸ†β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αž”αž·αž‘ Patroni αž”αž·αž‘β€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž―αž€αžŸαžΆαžšβ€‹αž”αž·αž‘β€‹αž’αŸ’αžœαžΈβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž™αŸ‰αžΆαž„β€‹αž˜αž»αž“β€‹αž–αŸαž›β€‹αž’αŸ’αžœαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž˜αž½αž™β€‹αž‡αžΆαž˜αž½αž™β€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹?

αžœαžΆαž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž…αŸ†αž“αž½αž“αžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ DCS αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αžαŸ’αž“αžΆαŸ†αž„αž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αž·αž‘αžαŸ‚αžαŸ’αž“αžΆαŸ†αž„αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ (αž€αžΆαžšαž…αž˜αŸ’αž›αž„) αž“αŸ„αŸ‡αž…αž„αŸ’αž€αŸ„αž˜αž“αžΉαž„αžšαž€αŸ’αžŸαžΆαž€αžΌαžšαŸ‰αž»αž˜αŸ” αž αžΎαž™ Patroni αž“αŸ…αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸαŸ‡αž‘αŸαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαŸ’αž˜αž»αž‚αŸ’αžšαžŸαŸ’αž˜αžΆαž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αžαŸ’αž“αžΆαŸ†αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αž αž’αžœαžαŸ’αžαž˜αžΆαž“αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ†αž•αŸ’αž›αžΆαž‰αž€αžΌαžšαŸ‰αž»αž˜ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ - αž”αžΆαž‘ αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžŸαž˜αž αŸαžαž»αž•αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹ Patroni αž±αŸ’αž™αž•αŸ’αž’αžΆαž€αŸ” αžœαžΆαž˜αžΆαž“αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆ - αž•αŸ’αž’αžΆαž€ patronictl αž”αž“αŸ’αž patronictl αŸ” αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž•αŸ’αž’αžΆαž€ αž αžΎαž™ autofiler αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡αŸ” αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ‚αž‘αžΆαŸ†αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜ DCS αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž™αžΎαž„αžˆαž”αŸ‹αž•αŸ’αž’αžΆαž€ αž αžΎαž™αž”αž“αŸ’αžαžšαžŸαŸ‹αž“αŸ…αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹!

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž…αŸ’αžšαžΎαž“αž…αŸ†αž–αŸ„αŸ‡αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€! αžαžΎβ€‹αž€αŸ’αžšαž»αž˜β€‹αž•αž›αž·αžαž•αž›β€‹αž˜αžΆαž“β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αž™αŸ‰αžΆαž„β€‹αžŽαžΆβ€‹αž…αŸ†αž–αŸ„αŸ‡β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αžΆαžαŸ‹αž”αž„αŸ‹?

αž€αŸ’αžšαž»αž˜αž•αž›αž·αžαž•αž›αž˜αž·αž“αžαŸ’αžœαž›αŸ‹αž‘αŸ αž αžΎαž™αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž€αŸ’αžšαž»αž˜αž˜αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž½αž™αž”αžΆαžšαž˜αŸ’αž—αŸ”

αžαžΎαž˜αžΆαž“αž€αžΆαžšαž’αžΆαž“αžΆαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡?

αž€αžΆαžšαž’αžΆαž“αžΆαž‚αžΊαž–αž·αž”αžΆαž€αžŽαžΆαžŸαŸ‹αŸ” Alexander Kukushkin αž˜αžΆαž“αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ "αžšαž”αŸ€αž”αž‚αžŽαž“αžΆ RPO αž“αž·αž„ RTO" αž–αŸ„αž›αž‚αžΊαž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž€αžΆαžšαž„αžΎαž”αž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž…αž”αžΆαžαŸ‹αž”αž„αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αžšαž€αžŸαŸ’αž›αžΆαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αžŸαž·αž€αŸ’αžŸαžΆαžœαžΆαŸ” αžαžΆαž˜αžαŸ’αž‰αž»αŸ†αž…αžΆαŸ†αž˜αžΆαž“αž‡αŸ†αž αžΆαž“αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž‚αžŽαž“αžΆαžšαž”αžŸαŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αžαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αž™αžΎαž„αž’αžΆαž…αž”αžΆαžαŸ‹αž”αž„αŸ‹ αžαžΎαž™αžΎαž„αž’αžΆαž…αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αŸ” αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸ αž™αžΎαž„αž’αžΆαž…αž”αŸ’αžšαžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžαžΆαž˜αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž“αŸ…αž€αž˜αŸ’αžšαž·αž Patroni αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŠαžΆαžœαž˜αž»αžαž–αžΈαžšαŸ– αž™αžΎαž„αž˜αžΆαž“αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž¬αž™αžΎαž„αž”αžΆαžαŸ‹αž”αž„αŸ‹αž›αŸ’αž”αžΏαž“αŸ” αž˜αžΆαž“αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžαžΆαž˜αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž€αŸαž˜αž·αž“αž’αžΆαž“αžΆαž€αžΆαžšαž€αžΆαžšαž–αžΆαžš 100% αž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αž„αžŠαŸ‚αžšαŸ”

Alexey αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™! αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Patroni αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαž€αž˜αŸ’αžšαž·αžαžŸαžΌαž“αŸ’αž™αž‘αŸ? αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αžšαž„αŸ‹αž…αžΆαŸ†? αž“αŸαŸ‡αž‡αžΆαžŸαŸ†αžŽαž½αžšαžŠαŸ†αž”αžΌαž„αŸ” αž αžΎαž™αžŸαŸ†αžŽαž½αžšαž‘αžΈαž–αžΈαžšαŸ” αž’αŸ’αž“αž€αž”αžΆαž“αž”αŸ’αžšαžΎαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž•αŸ’αžŸαŸαž„αŸ—αŸ” αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎ Repmgr αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ autofiler αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž‚αŸ’αžšαŸ„αž„αž“αžΉαž„αž”αž‰αŸ’αž…αžΌαž› autofiler αŸ” αž αžΎαž™αž™αžΎαž„αž…αžΆαžαŸ‹αž‘αž»αž€ Patroni αž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αŸ†αž“αž½αžŸαŸ” αžαžΎαž’αŸ’αž“αž€αž’αžΆαž…αž“αž·αž™αžΆαž™αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αž‡αžΆαž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„ Repmgr?

αžŸαŸ†αžŽαž½αžšαž‘αžΈαž˜αž½αž™αž‚αžΊαž’αŸ†αž–αžΈαž€αžΆαžšαž…αž˜αŸ’αž›αž„αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αŸ” αž‚αŸ’αž˜αžΆαž“β€‹αž“αžšαžŽαžΆβ€‹αž˜αŸ’αž“αžΆαž€αŸ‹β€‹αž”αŸ’αžšαžΎβ€‹αž€αžΆαžšβ€‹αž…αž˜αŸ’αž›αž„β€‹αžαžΆαž˜β€‹αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜β€‹αž“αŸ…β€‹αž‘αžΈαž“αŸαŸ‡β€‹αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡β€‹αž’αŸ’αž“αž€β€‹αžšαžΆαž›αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αž—αŸαž™β€‹αžαŸ’αž›αžΆαž… (αž’αžαž·αžαž·αž‡αž“β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αž€αŸ†αž–αž»αž„β€‹αž”αŸ’αžšαžΎβ€‹αžœαžΆβ€‹αž‡αžΆβ€‹αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž–αž½αž€αž‚αŸβ€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž€αžαŸ‹β€‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹β€‹αžƒαžΎαž‰β€‹αž”αž‰αŸ’αž αžΆβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž‘αŸ - αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αž·αž™αžΆαž™) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž…αŸ’αž”αžΆαž”αŸ‹αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž›αž½αž“αž™αžΎαž„αžαžΆ αž‚αž½αžšαžαŸ‚αž˜αžΆαž“αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžαŸ’αž“αžΆαŸ†αž„αž”αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αž…αž˜αŸ’αž›αž„αžŠαŸ‚αž›αž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž˜αž½αž™ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αžαŸ’αž“αžΆαŸ†αž„αž–αžΈαžš αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ αž¬αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž”αžšαžΆαž‡αŸαž™αž“αŸ„αŸ‡ Patroni αž”αŸ’αžαžΌαžšαžαŸ’αž“αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸ…αž‡αžΆαžšαž”αŸ€αž” Standalone αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αž αž€αžΆαžšαž„αžΆαžšαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž˜αžΆαž“αž αžΆαž“αž·αž—αŸαž™αž“αŸƒαž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžŸαŸ†αžŽαž½αžšαž‘αžΈαž–αžΈαžš αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎ Repmgr αž αžΎαž™αž“αŸ…αžαŸ‚αž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αž’αžαž·αžαž·αž‡αž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžαŸ’αžšαŸ” αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž’αžΆαž…αž“αž·αž™αžΆαž™αž”αžΆαž“? Patroni αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ autofiler αž…αŸαž‰αž–αžΈαž”αŸ’αžšαž’αž”αŸ‹ Repmgr αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ autofiler αž‡αžΆαž˜αž»αžαž„αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αžΎαž€αŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸαž˜αž·αž“ Repmgr αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž“αžΈαž˜αž½αž™αŸ— αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž™αžΎαž„αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ autofiler αŸ”

Repmgr αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαžαŸ’αž“αžΆαŸ†αž„ Postgres αž“αŸ…αžšαžŸαŸ‹αžŠαŸ‚αžšαž¬αž‘αŸαŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Repmgr αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž’αžαŸ’αžαž·αž—αžΆαž–αž“αŸƒαž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€ αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αž›αžΆαŸ†αž„αž“αŸ„αŸ‡αž‘αŸαŸ” αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž€αžšαžŽαžΈαžŸαŸ’αž˜αž»αž‚αŸ’αžšαžŸαŸ’αž˜αžΆαž‰αž“αŸƒαž—αžΆαž–αž―αž€αŸ„αž”αžŽαŸ’αžαžΆαž‰ αžŠαŸ‚αž›αž…αž„αŸ’αž€αŸ„αž˜ Repmgr αžŠαŸαž’αŸ†αž˜αž½αž™αž’αžΆαž…αž”αŸ†αž”αŸ‚αž€αž‘αŸ…αž‡αžΆαž€αŸ’αžšαž»αž˜αžαžΌαž…αŸ—αž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™αž”αž“αŸ’αžαž’αŸ’αžœαžΎαž€αžΆαžšαŸ” αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αžαžΆαž˜αžŠαžΆαž“ Repmgr αž™αžΌαžšαž αžΎαž™ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αž½αžŸαž‡αž»αž› ... αž¬αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž’αžαŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžŠαž€αž…αŸαž‰αž“αžΌαžœαž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ DCS αžŠαžΌαž…αžŠαŸ‚αž› Stolon, Patroni αž’αŸ’αžœαžΎ αž‚αžΊαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ‚αž›αž’αžΆαž…αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž”αŸ†αž•αž»αžαŸ”

Alexey, αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαž˜αž½αž™, αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆ lamer αž˜αž½αž™αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ†αž”αžΌαž„αž˜αž½αž™ αž’αŸ’αž“αž€αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš DCS αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αŸ” αž™αžΎαž„αž™αž›αŸ‹αžαžΆαž”αžŽαŸ’αžαžΆαž‰αž‚αžΊαž‡αžΆαžœαžαŸ’αžαž»αžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžœαžΆαžœαžΆαžšαžŸαŸ‹αž“αŸ…αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ” αž αžΎαž™αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž…αž„αŸ’αž€αŸ„αž˜ DCS αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“? αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž“αž·αž™αžΆαž™αž αŸαžαž»αž•αž›αž‘αŸ αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž“αŸƒαž–αž½αž€αž‚αŸαŸ– αž–αžΈαžŠαŸƒαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž”αžŽαŸ’αžαžΆαž‰αž‘αŸ…αž”αž‰αŸ’αž αžΆαž–αž·αžαŸ”

αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αž“αž·αž™αžΆαž™αžœαžΆαžαŸ’αž›αžΆαŸ†αž„αŸ—αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž…αž„αŸ’αž€αŸ„αž˜ DCS αž€αŸαžαŸ’αžšαžΌαžœαžαŸ‚αž”αžšαžΆαž‡αŸαž™αžŠαŸ‚αžš αž–αŸ„αž›αž‚αžΊαžœαžΆαž‡αžΆαž…αŸ†αž“αž½αž“αžŸαŸαžŸαž“αŸƒ nodes αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž€αžΌαžšαŸ‰αž»αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž–αŸαž‰αŸ” αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αž„αŸ’αž€αŸ„αž˜ DCS αž€αŸ’αž›αžΆαž™αž‡αžΆαž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“ αž¬αž€αžΌαžšαŸ‰αž»αž˜αž˜αž·αž“αž’αžΆαž…αž”αŸ†αž–αŸαž‰αž”αžΆαž“ αž–αŸ„αž›αž‚αžΊαž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αž”αŸ†αž”αŸ‚αž€ αž¬αžαŸ’αž“αžΆαŸ†αž„αž”αžšαžΆαž‡αŸαž™? αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž…αž„αŸ’αž€αŸ„αž˜ Patroni αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž”αžΆαž“αžαŸ‚αž’αžΆαž“αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž…αž„αŸ’αž€αŸ„αž˜ Patroni αž˜αž·αž“αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαŸ” αžœαžΆαž˜αž·αž“αž’αžΆαž…αž‘αžΆαž€αŸ‹αž‘αž„ DCS αž“αž·αž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž…αž„αŸ’αž€αŸ„αž˜αžαŸ’αž˜αžΈαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž…αž„αŸ’αž€αŸ„αž˜αž‘αžΆαŸ†αž„αž˜αžΌαž›αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžαŸ‚αž’αžΆαž“αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž αžΎαž™αžšαž„αŸ‹αž…αžΆαŸ†αž€αžΆαžšαž’αž“αŸ’αžαžšαžΆαž‚αž˜αž“αŸαžŠαŸ„αž™αžŠαŸƒαž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš αž¬αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ DCS αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž„αŸ’αž‚αŸ’αžšαŸ„αŸ‡αŸ”

αž“αž·αž™αžΆαž™αž±αŸ’αž™αž…αŸ†αž‘αŸ… DCS αž€αŸ’αž›αžΆαž™αž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αžŠαŸ‚αž›αžŸαŸ†αžαžΆαž“αŸ‹αžŠαžΌαž…αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžαŸ’αž›αž½αž“αž―αž„?

αž”αžΆαž‘β€‹αž”αžΆαž‘αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž‘αŸ†αž“αžΎαž”αž‡αžΆαž…αŸ’αžšαžΎαž“ Service Discovery αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž˜αž»αž“αž–αŸαž›αž˜αžΆαž“αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αž”αžΎαž“αž·αž™αžΆαž™αž‘αžΆαž€αŸ‹αž‘αž„αž‚αŸ’αž“αžΆ αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž”αžΆαž“αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„ DC αž αžΎαž™αž™αžΎαž„αž˜αžΆαž“αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Discovery αž—αŸ’αž›αžΆαž˜αŸ—αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž‡αžΆαž€αž»αž„αžŸαŸŠαž»αž›αž“αŸ„αŸ‡ DNS αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž„αžŸαž„αŸ‹αž“αŸ…αž›αžΎαžœαžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αŸαŸ‡αž‡αžΆ Etcd αž“αŸ„αŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž–αžΈαž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αžŠαŸ‚αž›αž’αŸ’αžœαžΈαŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαŸ’αž‰αž»αŸ†αžαžΆ Service Discovery αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ†αž“αžΎαž”αžšαž½αž…αž‘αŸ…αž αžΎαž™αŸ” αž αžΎαž™αž–αž½αž€αž‚αŸαž‚αž·αžαž’αŸ†αž–αžΈαžœαžΆαž›αžΏαž“αž‡αžΆαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽ!

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹