Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ  แƒ›แƒ˜แƒ•แƒฃแƒ“แƒ”แƒฅแƒ˜แƒ— PostgreSQL แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒก, แƒ แƒแƒขแƒแƒ› แƒ’แƒแƒฎแƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ“แƒ แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜: 2,5 แƒ›แƒ˜แƒšแƒ˜แƒแƒœแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒ—แƒ”แƒšแƒก แƒ›แƒกแƒแƒคแƒšแƒ˜แƒแƒจแƒ˜, 50K+ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒงแƒแƒ•แƒ”แƒšแƒ“แƒฆแƒ˜แƒฃแƒ แƒแƒ“. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒ›แƒแƒ–แƒแƒœแƒจแƒ˜, แƒ˜แƒ แƒšแƒแƒœแƒ“แƒ˜แƒ˜แƒก แƒ”แƒ แƒ— แƒ แƒ”แƒ’แƒ˜แƒแƒœแƒจแƒ˜: แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 100+ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒ’แƒแƒœ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก 50 แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฃแƒ™แƒแƒœแƒ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒแƒœแƒแƒšแƒ˜แƒ—แƒฃแƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ Java แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ• แƒ•แƒ”แƒ‘แƒกแƒแƒ™แƒ”แƒขแƒฃแƒ  แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ—แƒแƒœ. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒ›แƒแƒ•แƒ” แƒ“แƒแƒคแƒแƒ–แƒ” แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒฎแƒ”แƒ“แƒแƒ•แƒ”แƒœ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒแƒก แƒ•แƒฌแƒ”แƒ แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 10 แƒแƒ—แƒแƒกแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒฌแƒแƒ›แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ–แƒ”. แƒ แƒ”แƒ“แƒ˜แƒกแƒจแƒ˜ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ— 80-100K แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒฌแƒแƒ›แƒจแƒ˜.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒ แƒแƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒ”แƒ“แƒ˜แƒ— Redis-แƒ“แƒแƒœ PostgreSQL-แƒ–แƒ”

แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ Redis-แƒ—แƒแƒœ, แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒแƒกแƒ—แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก RAM-แƒจแƒ˜.

Redis-แƒ˜แƒก แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒฎแƒแƒ แƒ”แƒ”แƒ‘แƒ˜:

  1. แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜;
  2. แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ“แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”.

Redis-แƒ˜แƒก แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ›แƒฎแƒแƒ แƒ”แƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก:

  1. แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒชแƒแƒ“แƒ”แƒ— แƒ›แƒแƒ—แƒ˜ แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ”แƒก แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ“แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒก.
  2. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ—. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒ—, แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ’แƒแƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ, แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒแƒฌแƒงแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก, แƒ แƒแƒช AWS-แƒจแƒ˜ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜แƒก แƒจแƒ”แƒกแƒแƒชแƒ•แƒšแƒ”แƒšแƒแƒ“.
  3. แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ“แƒ”แƒก แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ. แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒœแƒ”แƒ 17-20 ms. 30-40 ms แƒ“แƒแƒœแƒ”แƒ–แƒ”, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ• แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ“แƒ”แƒ’แƒ แƒแƒ“แƒแƒชแƒ˜แƒแƒ–แƒ”. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ”แƒก แƒ›แƒแƒฎแƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ 2018 แƒฌแƒšแƒ˜แƒก แƒกแƒ”แƒฅแƒขแƒ”แƒ›แƒ‘แƒ”แƒ แƒจแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช Redis-แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ›แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒ› แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ— แƒ›แƒ˜แƒ˜แƒฆแƒ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ–แƒ” 2-แƒฏแƒ”แƒ  แƒ›แƒ”แƒขแƒ˜. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒแƒฉแƒ”แƒ แƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒจแƒฃแƒแƒ“แƒฆแƒ˜แƒกแƒแƒก แƒ“แƒแƒฃแƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒ“แƒ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ”แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜ Redis แƒ”แƒ’แƒ–แƒ”แƒ›แƒžแƒšแƒแƒ แƒ˜.
  4. แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒฃแƒกแƒแƒ‘แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ™แƒแƒ“แƒจแƒ˜ แƒ›แƒชแƒ˜แƒ แƒ” แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜แƒช แƒ™แƒ˜ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒ แƒ“แƒแƒฎแƒแƒ แƒฏแƒแƒ•แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒแƒก แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒšแƒแƒ“.

แƒ’แƒแƒ•แƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ— แƒ›แƒ˜แƒœแƒฃแƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ, แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒšแƒแƒขแƒ”แƒœแƒขแƒฃแƒ แƒแƒ‘แƒแƒ–แƒ”. แƒฉแƒแƒแƒขแƒแƒ แƒ แƒ™แƒ•แƒšแƒ”แƒ•แƒ, แƒ’แƒแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒ PostgreSQL.

แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” 1,5 แƒฌแƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ“แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒแƒฎแƒแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒชแƒ˜แƒ แƒ” แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒฎแƒšแƒ แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ Redis-แƒ—แƒแƒœ แƒ“แƒ PostgreSQL-แƒ—แƒแƒœ. แƒ›แƒ”แƒขแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒฉแƒ”แƒ›แƒ˜ แƒ™แƒแƒšแƒ”แƒ’แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒ.

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ“แƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ Master Redis-แƒกแƒ แƒ“แƒ PostgreSQL-แƒ–แƒ”. PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒกแƒ แƒ“แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ˜แƒกแƒ’แƒแƒœ. แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ:
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

PgBouncer-แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ

แƒกแƒแƒœแƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ•แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ“แƒ˜แƒ—, แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒช แƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ: แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒœแƒ”แƒœ PostgreSQL-แƒ—แƒแƒœ, แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒ แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒ. PostgreSQL แƒฅแƒ›แƒœแƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ›แƒแƒ˜แƒฎแƒ›แƒแƒ แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ–แƒแƒ แƒ“แƒแƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ›แƒแƒ›แƒ”แƒœแƒขแƒแƒ›แƒ“แƒ”, แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒแƒ แƒแƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ. แƒแƒกแƒ”แƒ— แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ“แƒ’แƒ”แƒ‘แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒฌแƒ˜แƒœ.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ แƒแƒ แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: Pgpool แƒ“แƒ PgBouncer. แƒ›แƒแƒ’แƒ แƒแƒ› แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— PgBouncer.

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒฅแƒ”แƒ›แƒ: แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฌแƒ•แƒ“แƒ”แƒ‘แƒ แƒ”แƒ แƒ— PgBouncer-แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒ“แƒ’แƒแƒก PostgreSQL แƒ›แƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒแƒ แƒ˜แƒก แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ— แƒ”แƒ แƒ—แƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, PostgreSQL-แƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒ•แƒ”แƒ  แƒจแƒ”แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ“แƒ˜แƒ— แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ˜แƒงแƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— PostgreSQL-แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ–แƒ”. แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒฅแƒ”แƒ›แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ: แƒแƒฎแƒแƒšแƒ˜ PostgreSQL แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ PgBouncer-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒแƒฎแƒแƒš แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ—แƒแƒœ.

PgBouncer-แƒ˜แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ

แƒ”แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒแƒ›แƒ“แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ PgBouncer แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒ’แƒแƒ แƒ“แƒแƒ˜แƒชแƒ•แƒแƒšแƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ แƒ— AWS-แƒจแƒ˜, แƒกแƒแƒ“แƒแƒช แƒงแƒ•แƒ”แƒšแƒ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒฃแƒšแƒแƒ“ แƒ™แƒ•แƒ“แƒ”แƒ‘แƒ. แƒแƒกแƒ”แƒ— แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒจแƒ˜, แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒแƒฎแƒแƒš แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ” แƒ“แƒ แƒ˜แƒกแƒ”แƒ• แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒ”แƒก แƒ›แƒแƒฎแƒ“แƒ PgBouncer-แƒ—แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜ แƒ’แƒแƒฎแƒ“แƒ. แƒแƒ› แƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ˜แƒงแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒšแƒแƒ‘แƒ 25 แƒฌแƒฃแƒ—แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. AWS แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒแƒชแƒ˜แƒแƒก แƒฃแƒฌแƒ”แƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ“แƒแƒœ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒช แƒ˜แƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒก แƒฅแƒ•แƒ”แƒงแƒแƒœแƒแƒจแƒ˜ แƒแƒ  แƒ˜แƒงแƒ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜.

แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒแƒ“ แƒ•แƒ˜แƒคแƒ˜แƒฅแƒ แƒ”แƒ— PgBouncer แƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒแƒ–แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ–แƒ” แƒฉแƒ•แƒ”แƒœแƒก AWS แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ–แƒ”.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— PgBouncer แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“: แƒงแƒ•แƒ”แƒšแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฌแƒ•แƒ“แƒ”แƒ‘แƒ Network Load Balancer-แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ PgBouncer. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ PgBouncer แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” PostgreSQL แƒ›แƒแƒกแƒขแƒ”แƒ แƒก. แƒ—แƒฃ AWS แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒแƒ•แƒแƒ แƒ˜แƒ แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ“แƒ”แƒ‘แƒ, แƒ›แƒ—แƒ”แƒšแƒ˜ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜ แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ PgBouncer-แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—. Network Load Balancer-แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒแƒ แƒ—แƒแƒแƒ‘แƒ แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ AWS-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ .

แƒ”แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒก แƒแƒฎแƒแƒšแƒ˜ PgBouncer แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒแƒก.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— PostgreSQL Failover แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜

แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ˜แƒกแƒแƒก แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜: แƒ—แƒ•แƒ˜แƒ—แƒœแƒแƒฌแƒ”แƒ แƒ˜ failover, repmgr, AWS RDS, Patroni.

แƒ—แƒ•แƒ˜แƒ—แƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜

แƒ›แƒแƒ— แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒœแƒ”แƒœ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒ“แƒ, แƒ—แƒฃ แƒ˜แƒก แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ, แƒ“แƒแƒแƒฌแƒ˜แƒœแƒแƒฃแƒ แƒแƒœ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒแƒœ PgBouncer แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ.

แƒแƒ› แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ—แƒแƒ•แƒแƒ“ แƒฌแƒ”แƒ แƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒก แƒ“แƒ แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ’แƒ”แƒกแƒ›แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒกแƒ˜แƒœแƒ˜.

Cons:

  • แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ, แƒแƒกแƒขแƒแƒขแƒ˜ แƒแƒ  แƒ›แƒแƒ›แƒ™แƒ•แƒ“แƒแƒ แƒ˜แƒงแƒ, แƒกแƒแƒ›แƒแƒ’แƒ˜แƒ”แƒ แƒแƒ“, แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒฃแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ“แƒแƒ แƒ˜แƒงแƒ. Failover, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒ˜แƒชแƒแƒ“แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ’แƒแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒก แƒ›แƒแƒกแƒขแƒ”แƒ แƒ–แƒ”, แƒฎแƒแƒšแƒ แƒซแƒ•แƒ”แƒšแƒ˜ แƒแƒกแƒขแƒแƒขแƒ˜ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ แƒแƒšแƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ•แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒš แƒ›แƒแƒ—แƒ’แƒแƒœแƒก แƒแƒฅแƒ•แƒก แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒแƒ› แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒก แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ”แƒœ แƒ’แƒแƒงแƒแƒคแƒ˜แƒš แƒขแƒ•แƒ˜แƒœแƒก;
  • แƒฃแƒžแƒแƒกแƒฃแƒฎแƒแƒ“ แƒ“แƒแƒ•แƒ แƒฉแƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜, แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ, แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ›แƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒแƒฆแƒแƒ  แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฎแƒ”แƒšแƒ˜แƒ— แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ;
  • แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ failover แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒ–แƒ”, แƒฎแƒแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก 12 PostgreSQL shards, แƒ แƒแƒช แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ— 12 แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก. แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒขแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ— แƒคแƒแƒ˜แƒšแƒแƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ.

แƒ—แƒ•แƒ˜แƒ—แƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒ›แƒแƒ แƒชแƒฎแƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ แƒ—แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ  แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก. แƒ”แƒ แƒ—แƒ˜ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒ—, แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒแƒ  แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜.

Repmgr

Replication Manager PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒแƒ แƒ—แƒแƒก PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ›แƒแƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒฃแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒแƒ‘แƒ แƒงแƒฃแƒ—แƒ˜แƒ“แƒแƒœ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒกแƒ—แƒ•แƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ "แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ" แƒ›แƒ–แƒ แƒฎแƒกแƒœแƒแƒ แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ”. แƒแƒกแƒ” แƒ แƒแƒ›, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ—แƒ•แƒ˜แƒ—แƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜, แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒแƒ แƒช แƒ™แƒ˜ แƒ•แƒชแƒแƒ“แƒ”แƒ— Repmgr.

AWS RDS

แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก, แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒ˜แƒชแƒ˜แƒก แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒฃแƒ–แƒก. แƒ›แƒแƒก แƒแƒฅแƒ•แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ: แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ™แƒ•แƒ“แƒ”แƒ‘แƒ, แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ“แƒ AWS แƒชแƒ•แƒšแƒ˜แƒก dns แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒก แƒแƒฎแƒแƒš แƒ›แƒแƒกแƒขแƒ”แƒ แƒ–แƒ”, แƒฎแƒแƒšแƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ AZ-แƒจแƒ˜.

แƒœแƒแƒ™แƒšแƒแƒ•แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒฏแƒแƒ แƒ˜แƒ›แƒ˜แƒก แƒ™แƒแƒ แƒ”แƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒแƒก. แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒšแƒ˜ แƒ“แƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜: แƒฉแƒ•แƒ”แƒœแƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜ tcp แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒช, แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ RDS-แƒจแƒ˜:

net.ipv4.tcp_keepalive_time=10
net.ipv4.tcp_keepalive_intvl=1
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_retries2=3

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, AWS RDS แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒแƒ แƒฏแƒ”แƒ  แƒซแƒ•แƒ˜แƒ แƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒกแƒ˜, แƒ แƒแƒช แƒแƒ› แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒ›แƒ˜แƒขแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒ˜แƒงแƒ.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜ PostgreSQL-แƒ˜แƒก แƒกแƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒแƒ“ แƒ™แƒแƒ แƒ’แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒ—, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒ— แƒ“แƒ แƒฌแƒงแƒแƒ แƒ แƒ™แƒแƒ“แƒ˜แƒ— github-แƒ–แƒ”.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒฎแƒแƒ แƒ”แƒ”แƒ‘แƒ˜:

  • แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ, แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜แƒ, แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก;
  • แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒงแƒฃแƒ—แƒ˜แƒ“แƒแƒœ;
  • แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒ“แƒ แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ—แƒ•แƒ˜แƒ—แƒแƒœ แƒ•แƒฌแƒ”แƒ แƒ— แƒ‘แƒ”แƒ•แƒ แƒก แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜, แƒ’แƒแƒ’แƒ•แƒ˜แƒแƒ“แƒ•แƒ˜แƒšแƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ, แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒจแƒ˜แƒช แƒ“แƒแƒ•แƒ”แƒฎแƒ›แƒแƒ แƒแƒ—;
  • แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ›แƒแƒ แƒ—แƒแƒ•แƒก PostgreSQL, แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ” แƒ“แƒ แƒ—แƒฃ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ“แƒ”แƒก Patroni-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

Cons:

  • แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒแƒ  แƒแƒ แƒ˜แƒก แƒœแƒแƒ—แƒ”แƒšแƒ˜, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— PgBouncer-แƒ—แƒแƒœ แƒกแƒฌแƒแƒ แƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ แƒซแƒœแƒ”แƒšแƒ˜แƒ แƒแƒ›แƒแƒก แƒ›แƒ˜แƒœแƒฃแƒก แƒ•แƒฃแƒฌแƒแƒ“แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒแƒ PostgreSQL-แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒฌแƒแƒ•แƒ แƒžแƒแƒขแƒ แƒแƒœแƒ—แƒแƒœ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜, แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ;
  • แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ แƒแƒชแƒ แƒœแƒฃแƒšแƒ˜แƒ“แƒแƒœ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— Patroni, แƒ แƒแƒ—แƒ แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ failover แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜

Patroni-แƒ›แƒ“แƒ” แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ 12 PostgreSQL แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒ˜แƒแƒ“แƒœแƒ”แƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ–แƒ” Network Load Balancer-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒ˜แƒงแƒ แƒแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ PgBouncer-แƒ˜แƒ— แƒ“แƒ แƒ›แƒแƒ— แƒฃแƒ™แƒแƒœ แƒงแƒ•แƒ”แƒšแƒ PostgreSQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

Patroni-แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ. แƒžแƒแƒขแƒ แƒแƒœแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ etcd, Zookeeper, Consul. แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœแƒ˜ แƒกแƒแƒ™แƒแƒœแƒกแƒฃแƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ‘แƒแƒ–แƒแƒ แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Vault-แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒ“แƒ แƒ›แƒแƒก แƒแƒฆแƒแƒ  แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—. แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜, แƒ แƒแƒ› แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ .

แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒžแƒแƒขแƒ แƒแƒœแƒ˜ แƒ™แƒแƒœแƒกแƒฃแƒšแƒ—แƒแƒœ

แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒ แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒกแƒ แƒ“แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒกแƒ’แƒแƒœ (แƒžแƒแƒขแƒ แƒแƒœแƒจแƒ˜ แƒ‘แƒแƒขแƒแƒœแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒฐแƒฅแƒ•แƒ˜แƒ, แƒ›แƒแƒœแƒ”แƒ‘แƒก แƒ™แƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ). แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ™แƒแƒœแƒกแƒฃแƒšแƒก. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒกแƒ’แƒแƒœ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ“แƒ แƒ•แƒ˜แƒœ แƒแƒ แƒ˜แƒก แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜.

Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒแƒœแƒกแƒฃแƒšแƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ, แƒกแƒแƒ“แƒแƒช แƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ˜แƒ, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒฐแƒแƒกแƒขแƒ˜ http แƒแƒœ https แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜, แƒ˜แƒ›แƒ˜แƒกแƒ“แƒ แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— แƒ™แƒแƒœแƒกแƒฃแƒšแƒ—แƒแƒœ แƒ“แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ, แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ :

host: the host:port for the Consul endpoint, in format: http(s)://host:port
scheme: (optional) http or https, defaults to http

แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅ แƒฎแƒแƒคแƒแƒœแƒ’แƒ”แƒ‘แƒ˜ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ. แƒ™แƒแƒœแƒกแƒฃแƒšแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ–แƒ” https-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

consul:
  host: https://server.production.consul:8080 
  verify: true
  cacert: {{ consul_cacert }}
  cert: {{ consul_cert }}
  key: {{ consul_key }}

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒกแƒขแƒแƒ แƒขแƒแƒžแƒ˜แƒก แƒ“แƒ แƒแƒก แƒžแƒแƒขแƒ แƒแƒœแƒ˜ แƒ•แƒ”แƒ  แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒœแƒกแƒฃแƒšแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒ˜แƒœแƒช แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก http แƒ’แƒแƒ˜แƒแƒ แƒแƒก.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜ แƒ“แƒแƒ”แƒฎแƒ›แƒแƒ แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒแƒจแƒ˜. แƒ™แƒแƒ แƒ’แƒ˜แƒ, แƒ แƒแƒ› แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒฌแƒ”แƒ แƒ˜แƒ. แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› แƒฐแƒแƒกแƒขแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฅแƒ”แƒ›แƒแƒจแƒ˜. แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒกแƒฃแƒšแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ˜:

consul:
  host: server.production.consul:8080
  scheme: https
  verify: true
  cacert: {{ consul_cacert }}
  cert: {{ consul_cert }}
  key: {{ consul_key }}

แƒ™แƒแƒœแƒกแƒฃแƒš-แƒ—แƒแƒ แƒ’แƒ˜

แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก PgBouncer แƒ—แƒแƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก Patroni แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒกแƒแƒก. แƒแƒ› แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ. แƒ˜แƒฅ, แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, PgBouncer-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜.

แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒšแƒ˜แƒก แƒซแƒ˜แƒ”แƒ‘แƒแƒจแƒ˜ แƒ•แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒกแƒขแƒแƒขแƒ˜แƒ (แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“ แƒแƒ  แƒ›แƒแƒฎแƒกแƒแƒ•แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜), แƒกแƒแƒ“แƒแƒช แƒ”แƒฌแƒ”แƒ แƒ, แƒ แƒแƒ› ะกonsul-template แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒแƒ”แƒฎแƒ›แƒแƒ แƒ PgBouncer-แƒ˜แƒกแƒ แƒ“แƒ Patroni-แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜. แƒแƒ›แƒแƒœ แƒ’แƒ•แƒแƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒก แƒ’แƒแƒ›แƒแƒ’แƒ•แƒ”แƒ™แƒ•แƒšแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก Consul-template.

แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› Consul-template แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก แƒ™แƒแƒœแƒกแƒฃแƒšแƒจแƒ˜. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ, แƒ˜แƒก แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ‘แƒก PgBouncer-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒžแƒšแƒ˜แƒฃแƒกแƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ˜แƒก แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒ“แƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ commit-แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ, แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ—.

แƒแƒฎแƒแƒšแƒ˜ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ แƒžแƒแƒขแƒ แƒแƒœแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒฅแƒ”แƒ›แƒ:
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒงแƒ•แƒ”แƒšแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฌแƒ•แƒ“แƒ”แƒ‘แƒ แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒก โ†’ แƒ›แƒ˜แƒก แƒฃแƒ™แƒแƒœ แƒแƒ แƒ˜แƒก PgBouncer-แƒ˜แƒก แƒแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ โ†’ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒแƒ–แƒ”, แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ Consul-template, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ Patroni แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒฃแƒกแƒก แƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก PgBouncer แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒš แƒšแƒ˜แƒ“แƒ”แƒ แƒ—แƒแƒœ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก.

แƒฎแƒ”แƒšแƒ˜แƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ— แƒ”แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ–แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ“แƒ แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ. แƒ’แƒแƒฎแƒกแƒœแƒ”แƒก แƒ“แƒแƒคแƒ, แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒก แƒกแƒขแƒ˜แƒ™แƒ”แƒ แƒ˜ แƒ“แƒ แƒแƒ› แƒ“แƒ แƒแƒก แƒ›แƒขแƒ”แƒ•แƒœแƒ˜แƒก แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ โ€žแƒ›แƒแƒ™แƒšแƒ”แƒกโ€œ. AWS-แƒจแƒ˜ แƒ”แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜แƒ•แƒ” แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒกแƒขแƒ˜แƒ™แƒ”แƒ แƒ˜ แƒฃแƒ™แƒแƒœ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ 10-20 แƒฌแƒแƒ›แƒจแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ˜แƒกแƒ”แƒ• แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› Patroni แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ›แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ: แƒ›แƒแƒœ แƒจแƒ”แƒชแƒ•แƒแƒšแƒ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜, แƒ’แƒแƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ ะกonsul-แƒก แƒ“แƒ ะกonsul-template-แƒ›แƒ แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ” แƒแƒ˜แƒฆแƒ แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ, แƒจแƒ”แƒชแƒ•แƒแƒšแƒ PgBouncer แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ.

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ“แƒแƒ•แƒ แƒฉแƒ”แƒ— แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ“แƒ แƒจแƒ”แƒ•แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒแƒ— แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜?

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒแƒ“! แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜: แƒ แƒแƒ’แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ˜แƒ’แƒ˜ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒจแƒ˜? แƒ แƒแƒ’แƒแƒ  แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ“แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“ แƒ’แƒแƒ•แƒแƒคแƒแƒ แƒ—แƒแƒ•แƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜?

แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘แƒ— แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก, แƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒฃแƒžแƒแƒกแƒฃแƒฎแƒแƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒก. แƒ˜แƒ’แƒ˜ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ แƒ˜แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ— แƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒขแƒแƒšแƒ˜แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ โ€žแƒ›แƒแƒ•แƒ™แƒšแƒแƒ—โ€œ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ PostgreSQL แƒแƒกแƒขแƒแƒขแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ“แƒ แƒแƒก แƒ“แƒ แƒ•แƒœแƒแƒฎแƒแƒ— แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒ›แƒ“แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ”แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ› แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” PostgreSQL แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜, แƒแƒกแƒ” แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ• แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒ›แƒ“แƒ”.

แƒแƒ แƒ˜แƒ•แƒ” แƒแƒ›แƒแƒชแƒแƒœแƒ แƒแƒ›แƒ‘แƒ˜แƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก PostgreSQL 9.6. แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ 11.2-แƒ–แƒ”?

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ 2 แƒ”แƒขแƒแƒžแƒแƒ“: แƒฏแƒ”แƒ  แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ— 11.2-แƒ–แƒ”, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— Patroni.

PostgreSQL แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ

PostgreSQL แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ -k, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ›แƒงแƒแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ. 300-400 GB แƒ‘แƒแƒ–แƒแƒ–แƒ” แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒก 1 แƒฌแƒแƒ›แƒ˜ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒœแƒแƒขแƒ”แƒฎแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— Ansible playbook, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก:

/usr/lib/postgresql/11/bin/pg_upgrade 
<b>--link </b>
--old-datadir='' --new-datadir='' 
 --old-bindir=''  --new-bindir='' 
 --old-options=' -c config_file=' 
 --new-options=' -c config_file='

แƒแƒฅ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒแƒก, แƒ แƒแƒ› แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒ— --แƒฉแƒ”แƒ™แƒ˜แƒ แƒแƒ—แƒ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ 30 แƒฌแƒแƒ›แƒจแƒ˜, แƒ แƒแƒช แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒ.

แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒžแƒแƒขแƒ แƒแƒœแƒ˜

แƒ›แƒ”แƒแƒ แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ”แƒ— แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก. แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒกแƒแƒชแƒแƒ•แƒก แƒแƒฅแƒ•แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ initdb-แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒ–แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— Patroni-แƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ›แƒ–แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ›แƒแƒ•แƒ˜แƒฆแƒ”แƒ— แƒ”แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ.

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— Patroni-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒแƒฎแƒแƒš แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒฌแƒแƒ•แƒแƒฌแƒงแƒ“แƒ˜แƒ—: แƒแƒ แƒ˜แƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒ แƒแƒ’แƒแƒ แƒช แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜. แƒžแƒแƒขแƒ แƒแƒœแƒ›แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒแƒ“แƒ แƒ”แƒฃแƒšแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ“แƒ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก แƒแƒ แƒ˜แƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒแƒ แƒ˜ แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒ˜แƒ›แƒแƒ•แƒ” แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ—. แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฌแƒแƒจแƒแƒšแƒแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒ›แƒแƒœแƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—:

rm -rf /var/lib/postgresql/

แƒ”แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒ–แƒ”!

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒฃแƒคแƒ—แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒžแƒแƒขแƒ แƒแƒœแƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒšแƒ˜แƒ“แƒ”แƒ แƒก แƒ“แƒ แƒแƒฆแƒแƒ“แƒ’แƒ”แƒœแƒก แƒ›แƒแƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒฌแƒ•แƒ“แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก wal logs-แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒฎแƒ•แƒ“แƒ แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ›แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ›แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ”แƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒกแƒฃแƒ แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— Patroni, แƒ›แƒแƒจแƒ˜แƒœ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜. แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ PostgreSQL แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜.

แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— แƒขแƒ”แƒกแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒแƒก แƒ“แƒแƒคแƒ”แƒ‘แƒ–แƒ”. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒ› แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ“แƒฆแƒ˜แƒฃแƒ  แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ— แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒขแƒ”แƒกแƒขแƒ˜, แƒ’แƒแƒ›แƒแƒ แƒ—แƒ”แƒ— แƒ”แƒ แƒ—แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ PostgreSQL แƒšแƒ˜แƒ“แƒ”แƒ แƒ—แƒแƒœ. แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒแƒ•แƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ•แƒ”แƒšแƒแƒ“แƒ˜แƒ—: แƒžแƒแƒขแƒ แƒแƒœแƒ›แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜, Consul-template-แƒ›แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ PgBouncer-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ“แƒ แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. Grafana-แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒชแƒฎแƒแƒ“แƒ˜ แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒแƒ แƒ˜แƒก 20-30 แƒฌแƒแƒ›แƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ—แƒแƒœ. แƒ”แƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒ, แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒ แƒชแƒฎแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒแƒงแƒ•แƒแƒœแƒ

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒ”แƒ’แƒ›แƒ:

  • แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒ”แƒ— Consul-แƒ—แƒแƒ แƒ’แƒ˜ PgBouncer แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ—;
  • PostgreSQL แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ 11.2 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ›แƒ“แƒ”;
  • แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜;
  • แƒžแƒแƒขแƒ แƒแƒœแƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ.

แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒฅแƒ”แƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒ’แƒแƒ›แƒแƒ•แƒฎแƒแƒขแƒแƒ— แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒžแƒฃแƒœแƒฅแƒขแƒ˜ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ›แƒแƒ•แƒแƒจแƒแƒ แƒแƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ PgBouncer แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“แƒแƒœ แƒ แƒ˜แƒ’แƒ แƒ˜แƒ’แƒแƒ‘แƒ˜แƒ— แƒ“แƒ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— แƒ“แƒ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒ›แƒแƒกแƒ–แƒ” แƒกแƒแƒ™แƒแƒœแƒกแƒฃแƒšแƒ-แƒ—แƒแƒ แƒ’แƒ˜. แƒแƒกแƒ”แƒช แƒ›แƒแƒ•แƒ˜แƒฅแƒ”แƒชแƒ˜แƒ—.

แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ— Ansible, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ›แƒแƒ•แƒชแƒแƒ“แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ–แƒ” แƒ“แƒ แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ แƒ˜แƒงแƒ 1,5-แƒ“แƒแƒœ 2 แƒฌแƒฃแƒ—แƒแƒ›แƒ“แƒ” แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ”แƒซแƒšแƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ แƒ˜แƒ’แƒ แƒ˜แƒ’แƒแƒ‘แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ’แƒ•แƒ”แƒขแƒแƒœแƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒœแƒแƒฌแƒ˜แƒšแƒ–แƒ” แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒ แƒ—แƒแƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ PostgreSQL แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒฃแƒ—แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒช แƒแƒ› แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ–แƒ”แƒ, แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ•แƒ”แƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒ“แƒ แƒ”แƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒ˜แƒฃแƒฆแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

แƒแƒ› แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒ˜แƒงแƒ แƒ’แƒ”แƒ’แƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒ•แƒšแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒแƒ•แƒ”แƒš 3 แƒ—แƒ•แƒ”แƒจแƒ˜ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒฎแƒ“แƒ”แƒ‘แƒ. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒคแƒแƒœแƒฏแƒแƒ แƒ แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒšแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ•แƒฎแƒฃแƒ แƒแƒ•แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒ“แƒ แƒ•แƒแƒแƒฎแƒšแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ”แƒ‘แƒก. แƒ›แƒแƒ›แƒ“แƒ”แƒ•แƒœแƒ แƒคแƒแƒœแƒฏแƒ แƒแƒ›แƒ“แƒ” แƒ”แƒ แƒ—แƒ˜ แƒ™แƒ•แƒ˜แƒ แƒ แƒ˜แƒงแƒ แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ“แƒแƒ•แƒ”แƒšแƒแƒ“แƒแƒ— แƒ“แƒ แƒ›แƒแƒ•แƒ”แƒ›แƒ–แƒแƒ“แƒแƒ—. แƒšแƒแƒ“แƒ˜แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒ˜แƒชแƒ•แƒแƒ— แƒ—แƒแƒ•แƒ˜: แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ PostgreSQL แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒกแƒแƒ—แƒแƒ“แƒแƒ แƒ˜แƒ’แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒก แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ”แƒ’แƒ–แƒ”แƒ›แƒžแƒšแƒแƒ แƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒคแƒ แƒแƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ Patroni แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜. แƒ แƒแƒ—แƒ แƒแƒ  แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒจแƒšแƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ. แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒ”แƒฎแƒ›แƒแƒ แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ แƒ˜แƒกแƒ™แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ›แƒแƒ›แƒ“แƒ” แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒแƒก.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒœแƒ“แƒ, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ›แƒ แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒ”แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ”แƒ‘แƒ–แƒ” แƒจแƒ”แƒ•แƒœแƒ˜แƒจแƒœแƒ”แƒ— แƒแƒ แƒแƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ”.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒ แƒแƒขแƒแƒ› แƒแƒ  แƒ•แƒœแƒแƒฎแƒ”แƒ— แƒ”แƒก แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜? แƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒแƒกแƒแƒฎแƒแƒ•แƒก, โ€‹โ€‹แƒ แƒแƒ› แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒก แƒ“แƒแƒชแƒ•แƒ แƒ“แƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ, แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ“แƒแƒœ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒ›แƒ“แƒ”. แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ. แฒ แƒ แƒ›แƒแƒฎแƒ“แƒ? แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒ–แƒ”, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜, แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ–แƒ”, แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ˜แƒงแƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒ–แƒ”. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒแƒจแƒ˜, CPU-แƒก แƒ’แƒแƒŸแƒแƒœแƒ•แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ“แƒ แƒ™แƒแƒœแƒกแƒฃแƒš-แƒ—แƒแƒ แƒ’แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒแƒแƒฎแƒšแƒ”แƒ— แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜, แƒ แƒ˜แƒ—แƒแƒช แƒ›แƒแƒ•แƒแƒ’แƒ•แƒแƒ แƒ”แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ.

แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— Patroni แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜

แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ, แƒ แƒแƒ–แƒ”แƒช แƒ”แƒญแƒ•แƒ˜แƒช แƒแƒ  แƒ’แƒ•แƒ”แƒžแƒแƒ แƒ”แƒ‘แƒแƒ“แƒ. Consul-แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ•แƒฎแƒกแƒœแƒ˜แƒ— Consul-แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒ“แƒแƒœ consul leave แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— โ†’ Patroni แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ Consul แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก โ†’ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒ”แƒ— แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ‘แƒแƒšแƒ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ’แƒแƒ•แƒแƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ— แƒ™แƒแƒœแƒกแƒฃแƒšแƒ˜แƒก แƒ“แƒแƒขแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ, แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ แƒ“แƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ:

ERROR: get_cluster
Traceback (most recent call last):
...
RetryFailedError: 'Exceeded retry deadline'
ERROR: Error communicating with DCS
<b>LOG: database system is shut down</b>

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ›แƒ แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ“แƒแƒ˜แƒฌแƒงแƒ.

แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒšแƒ˜แƒก แƒ›แƒแƒกแƒแƒซแƒ”แƒ‘แƒœแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ˜แƒ— แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒก github-แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—. แƒ›แƒแƒ— แƒจแƒ”แƒ›แƒแƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒ”แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ:

consul:
 consul.checks: []
bootstrap:
 dcs:
   retry_timeout: 8

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒซแƒ”แƒšแƒ˜แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ–แƒ” แƒ“แƒ แƒ’แƒแƒ›แƒแƒ•แƒชแƒแƒ“แƒ”แƒ— แƒ”แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒฅ, แƒ›แƒแƒ’แƒ แƒแƒ›, แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒœแƒ”แƒœ.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ™แƒ•แƒšแƒแƒ• แƒ›แƒแƒฃแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ แƒฉแƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ’แƒ”แƒ’แƒ›แƒแƒ•แƒ— แƒ•แƒชแƒแƒ“แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

  • แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ™แƒแƒœแƒกแƒฃแƒš-แƒแƒ’แƒ”แƒœแƒขแƒ˜ แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒš แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒแƒ–แƒ”;
  • แƒ’แƒแƒแƒกแƒฌแƒแƒ แƒ”แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ™แƒแƒ“แƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ”แƒกแƒ›แƒ˜แƒก, แƒกแƒแƒ“ แƒ›แƒแƒฎแƒ“แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ: แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ, แƒแƒšแƒ‘แƒแƒ—, แƒแƒ แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ“แƒ แƒแƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ‘แƒแƒšแƒ Consul แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒ“แƒแƒœ, แƒ›แƒ—แƒ”แƒšแƒ˜ Consul แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒฉแƒ”แƒ แƒ“แƒ”แƒ‘แƒ แƒฌแƒแƒ›แƒ–แƒ” แƒ›แƒ”แƒขแƒฎแƒแƒœแƒก, แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒžแƒแƒขแƒ แƒแƒœแƒ˜ แƒ•แƒ”แƒ  แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒฃแƒกแƒก แƒ“แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ‘แƒก แƒ›แƒ—แƒ”แƒš แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก.

แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, แƒ›แƒ”แƒขแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒฎแƒ•แƒ”แƒ“แƒ แƒ˜แƒ.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜

Patroni-แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ. แƒแƒฎแƒšแƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒ•แƒแƒ แƒฃแƒ›แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ”แƒ‘แƒ: แƒ”แƒ แƒ—แƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ“แƒ แƒแƒ แƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ, แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒแƒ“แƒ” แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒแƒก แƒขแƒ•แƒ˜แƒœแƒ˜แƒก แƒ’แƒแƒงแƒแƒคแƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.
Failover Cluster PostgreSQL + Patroni. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ

แƒžแƒแƒขแƒ แƒแƒœแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒ–แƒ” แƒกแƒแƒ› แƒ—แƒ•แƒ”แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒแƒ› แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ›แƒแƒœ แƒฃแƒ™แƒ•แƒ” แƒ›แƒแƒแƒฎแƒ”แƒ แƒฎแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ. แƒชแƒแƒขแƒ แƒฎแƒœแƒ˜แƒก แƒฌแƒ˜แƒœ, แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ’แƒแƒ แƒ“แƒแƒ˜แƒชแƒ•แƒแƒšแƒ AWS-แƒจแƒ˜, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒแƒ•แƒ”แƒ แƒ˜ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ›แƒ แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒ”แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ. แƒžแƒแƒขแƒ แƒแƒœแƒ›แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒจแƒ”แƒฏแƒแƒ›แƒ”แƒ‘แƒ:

  • แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”. แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒ”แƒ แƒ— แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒแƒ–แƒ” แƒ“แƒ แƒ˜แƒก แƒ’แƒแƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ‘แƒ แƒ›แƒ—แƒ”แƒš แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ”. แƒ—แƒฃ แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, แƒ›แƒแƒจแƒ˜แƒœ Patroni แƒจแƒ”แƒ’แƒแƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ—. แƒžแƒแƒขแƒ แƒแƒœแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒช แƒแƒกแƒ”แƒ•แƒ” แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.
  • แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒฉแƒแƒ•แƒแƒ แƒ“แƒœแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒ›แƒแƒแƒฎแƒ”แƒ แƒฎแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ.
  • PostgreSQL แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒแƒ— แƒแƒกแƒšแƒ”แƒ‘แƒ˜ แƒแƒฎแƒแƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ”, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ Patroni แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒแƒ— แƒซแƒ•แƒ”แƒšแƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒแƒ•แƒแƒ แƒ˜แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ