เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจพเจ‚เจ—เจพ เจ•เจฟ เจ…เจธเฉ€เจ‚ PostgreSQL เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ เจฆเฉ‡ เจฎเฉเฉฑเจฆเฉ‡ เจคเฉฑเจ• เจ•เจฟเจตเฉ‡เจ‚ เจชเจนเฉเฉฐเจšเจฟเจ†, เจ‡เจน เจธเจพเจกเฉ‡ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ•เจฟเจ‰เจ‚ เจฌเจฃ เจ—เจฟเจ† เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉ‹เจ‡เจ†เฅค

เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฒเฉ‹เจก เจ•เฉ€เจคเฉ€ เจธเฉ‡เจตเจพ เจนเฉˆ: เจฆเฉเจจเฉ€เจ† เจญเจฐ เจตเจฟเฉฑเจš 2,5 เจฎเจฟเจฒเฉ€เจ…เจจ เจ‰เจชเจญเฉ‹เจ—เจคเจพ, เจนเจฐ เจฆเจฟเจจ 50K+ เจธเจฐเจ—เจฐเจฎ เจ‰เจชเจญเฉ‹เจ—เจคเจพเฅค เจธเจฐเจตเจฐ เจ†เจ‡เจฐเจฒเฉˆเจ‚เจก เจฆเฉ‡ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจเจฎเจพเจœเจผเฉ‹เจจ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเจจ: 100+ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฐเจตเจฐ เจฒเจ—เจพเจคเจพเจฐ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเจ—เจญเจ— 50 เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจนเจจเฅค

เจชเฉ‚เจฐเจพ เจฌเฉˆเจ•เจเจ‚เจก เจ‡เฉฑเจ• เจตเจฟเจธเจผเจพเจฒ เจฎเฉ‹เจจเฉ‹เจฒเฉ€เจฅเจฟเจ• เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจœเจพเจตเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจนเฉˆ เจœเฉ‹ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจฟเจฐเฉฐเจคเจฐ เจตเฉˆเจฌเจธเจพเจ•เฉ‡เจŸ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจ•เจˆ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ•เฉ‹ เจฌเฉ‹เจฐเจก 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจ‰เจน เจธเจพเจฐเฉ‡ เจ…เจธเจฒ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจนเจฐเฉ‡เจ• เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚เฅค เจธเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจฒเจ—เจญเจ— 10K เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจนเจจเฅค Redis เจตเจฟเฉฑเจš เจชเฉ€เจ• เจฒเฉ‹เจก เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ 80-100K เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚เฅค
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ 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 เจฆเฉ‡ เจจเจพเจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจนเจฟเจฒเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฌเจฆเจฒเจฃ เจฆเฉ‡ เจชเฉœเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ‡เจธ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ€ เจ—เจˆ เจนเฉˆ เจฎเฉ‡เจฐเฉ‡ เจธเจพเจฅเฉ€ เจฆเจพ เจฒเฉ‡เจ–.

เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจœเจพเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ, เจคเจพเจ‚ เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‡ เจธเจฟเฉฑเจงเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจฎเจพเจธเจŸเจฐ Redis เจ…เจคเฉ‡ PostgreSQL เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€เฅค PostgreSQL เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเจพเจธเจŸเจฐ เจ…เจคเฉ‡ เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจกเจพเจŸเจพเจฌเฉ‡เจธ เจธเจ•เฉ€เจฎ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ:
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

PgBouncer เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ

เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ…เฉฑเจ—เฉ‡ เจตเจง เจฐเจนเฉ‡ เจธเฉ€, เจ‰เจคเจชเจพเจฆ เจตเฉ€ เจตเจฟเจ•เจธเจค เจนเฉ‹ เจฐเจฟเจนเจพ เจธเฉ€: เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจ…เจคเฉ‡ PostgreSQL เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจธเจฐเจตเจฐเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจง เจ—เจˆ, เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ•เจฎเฉ€ เจนเฉ‹เจฃ เจฒเฉฑเจ—เฉ€เฅค PostgreSQL เจนเจฐเฉ‡เจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ–เจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจค เจฌเจฟเฉฐเจฆเฉ‚ เจคเฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจงเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจธเจฌเจ“เจชเจŸเฉ€เจฎเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจฎเฉŒเจ•เจพ เจนเฉˆ. เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ†เจฆเจฐเจธเจผ เจตเจฟเจ•เจฒเจช เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฎเฉˆเจจเฉ‡เจœเจฐ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‹ เจ…เจงเจพเจฐ เจฆเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจ–เฉœเฉเจนเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฎเฉˆเจจเฉ‡เจœเจฐ เจฒเจˆ เจฆเฉ‹ เจตเจฟเจ•เจฒเจช เจธเจจ: Pgpool เจ…เจคเฉ‡ PgBouncerเฅค เจชเจฐ เจชเจนเจฟเจฒเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ‡ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจฒ เจฎเฉ‹เจก เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ PgBouncer เจจเฉ‚เฉฐ เจšเฉเจฃเจฟเจ† เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ เจ•เฉฐเจฎ เจฆเฉ€ เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจธเจ•เฉ€เจฎ เจธเจฅเจพเจชเจค เจ•เฉ€เจคเฉ€ เจนเฉˆ: เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เฉฑเจ• PgBouncer เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธเจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ PostgreSQL เจฎเจพเจธเจŸเจฐ เจนเจจ, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจฎเจพเจธเจŸเจฐ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจนเฉˆเฅค
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, เจ…เจธเฉ€เจ‚ PostgreSQL เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจฎเจพเจคเจฐเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจธเฉ€ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€ เจ—เจคเฉ€ เจธเจพเจกเฉ‡ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉ€, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจชเฉฑเจงเจฐ 'เจคเฉ‡ PostgreSQL เจจเฉ‚เฉฐ เจธเจผเจพเจฐเจกเจฟเฉฐเจ— เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ€ เจ—เจˆ เจธเจ•เฉ€เจฎ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆ: เจ‡เฉฑเจ• เจจเจตเจพเจ‚ PostgreSQL เจธเจผเจพเจฐเจก เจœเฉ‹เฉœเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เจน PgBouncer เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจซเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉเจฐเฉฐเจค เจจเจตเฉ‡เจ‚ เจธเจผเจพเจฐเจก เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

PgBouncer เจซเฉ‡เจฒเจ“เจตเจฐ

เจ‡เจน เจธเจ•เฉ€เจฎ เจ‰เจธ เจชเจฒ เจคเฉฑเจ• เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจธเจฟเจฐเจซเจผ PgBouncer เจฆเฉ€ เจฎเฉŒเจค เจนเฉ‹ เจ—เจˆ เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ AWS เจตเจฟเฉฑเจš เจนเจพเจ‚, เจœเจฟเฉฑเจฅเฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ€เจ†เจ‚ เจนเจจ เจœเฉ‹ เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ เจฎเจฐ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจ‰เจฆเจพเจนเจฐเจฃ เจธเจฟเจฐเจซเจผ เจจเจตเฉ‡เจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ 'เจคเฉ‡ เจšเจฒเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน PgBouncer เจจเจพเจฒ เจนเฉ‹เจ‡เจ†, เจชเจฐ เจ‡เจน เจ…เจฃเจ‰เจชเจฒเจฌเจง เจนเฉ‹ เจ—เจฟเจ†เฅค เจ‡เจธ เจ—เจฟเจฐเจพเจตเจŸ เจฆเจพ เจจเจคเฉ€เจœเจพ 25 เจฎเจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจธเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจฆเฉ€ เจ…เจฃเจ‰เจชเจฒเจฌเจงเจคเจพ เจธเฉ€เฅค AWS เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฒเจˆ เจ‰เจชเจญเฉ‹เจ—เจคเจพ-เจชเฉฑเจ–เฉ€ เจฐเจฟเจกเฉฐเจกเฉˆเจ‚เจธเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจผเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ‰เจธ เจธเจฎเฉ‡เจ‚ เจธเจพเจกเฉ‡ เจฆเฉ‡เจธเจผ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ PgBouncer เจ…เจคเฉ‡ PostgreSQL เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจฆเฉ€ เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ เจฌเจพเจฐเฉ‡ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ เจธเฉ‹เจšเจฟเจ†, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจธเจพเจกเฉ‡ AWS เจ–เจพเจคเฉ‡ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจจเจพเจฒ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจ…เจจเฉเจธเจพเจฐ PgBouncer เจซเจพเจฒเจŸ เจŸเฉ‹เจฒเจฐเฉˆเจ‚เจธ เจธเจ•เฉ€เจฎ เจฌเจฃเจพเจˆ เจนเฉˆ: เจธเจพเจฐเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฒเฉ‹เจก เจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเฉ‡ เจนเจจ, เจœเจฟเจธเจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจฆเฉ‹ PgBouncer เจนเจจเฅค เจนเจฐเฉ‡เจ• PgBouncer เจนเจฐเฉ‡เจ• เจธเจผเจพเจฐเจก เจฆเฉ‡ เจ‰เจธเฉ‡ PostgreSQL เจฎเจพเจธเจŸเจฐ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• AWS เจ‰เจฆเจพเจนเจฐเจจ เจ•เฉเจฐเฉˆเจธเจผ เจฆเฉเจฌเจพเจฐเจพ เจตเจพเจชเจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจพเจฐเฉ‡ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ PgBouncer เจฆเฉเจ†เจฐเจพ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฒเฉ‹เจก เจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ เจซเฉ‡เจฒเจ“เจตเจฐ AWS เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจ‡เจน เจธเจ•เฉ€เจฎ เจจเจตเฉ‡เจ‚ PgBouncer เจธเจฐเจตเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ เจ†เจธเจพเจจ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจ‡เฉฑเจ• PostgreSQL เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ“

เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ…เจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจตเจฟเจ•เจฒเจชเจพเจ‚ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เฉ€เจคเจพ: เจธเจตเฉˆ-เจฒเจฟเจ–เจค เจซเฉ‡เจฒเจ“เจตเจฐ, repmgr, AWS RDS, Patroniเฅค

เจธเจตเฉˆ-เจฒเจฟเจ–เจค เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚

เจ‰เจน เจฎเจพเจธเจŸเจฐ เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡, เจœเฉ‡เจ•เจฐ เจ‡เจน เจ…เจธเจซเจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฎเจพเจธเจŸเจฐ เจจเฉ‚เฉฐ เจ‰เจคเจธเจผเจพเจนเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ PgBouncer เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจ‡เจธ เจชเจนเฉเฉฐเจš เจฆเฉ‡ เจซเจพเจ‡เจฆเฉ‡ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฐเจฒเจคเจพ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฒเจฟเจ–เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจธเจฎเจเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ.

เจจเฉเจ•เจธเจพเจจ:

  • เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจฎเจพเจธเจŸเจฐ เจฆเฉ€ เจฎเฉŒเจค เจจเจพ เจนเฉ‹เจˆ เจนเฉ‹เจตเฉ‡, เจ‡เจธเจฆเฉ€ เจฌเจœเจพเจ เจ‡เฉฑเจ• เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ…เจธเจซเจฒเจคเจพ เจ†เจˆ เจนเฉ‹เจตเฉ‡เฅค เจซเฉ‡เจฒเจ“เจตเจฐ, เจ‡เจธ เจคเฉ‹เจ‚ เจ…เจฃเจœเจพเจฃ, เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฎเจพเจธเจŸเจฐ เจจเฉ‚เฉฐ เจ‰เจคเจธเจผเจพเจนเจฟเจค เจ•เจฐเฉ‡เจ—เจพ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจชเฉเจฐเจพเจฃเจพ เจฎเจพเจธเจŸเจฐ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ‡เจ—เจพ. เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเจพเจจเฉ‚เฉฐ เจฎเจพเจธเจŸเจฐ เจฆเฉ€ เจญเฉ‚เจฎเจฟเจ•เจพ เจตเจฟเฉฑเจš เจฆเฉ‹ เจธเจฐเจตเจฐ เจฎเจฟเจฒเจฃเจ—เฉ‡ เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจจเจนเฉ€เจ‚ เจชเจคเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เจฟเจธ เจ•เฉ‹เจฒ เจจเจตเฉ€เจจเจคเจฎ เจ…เฉฑเจช-เจŸเฉ‚-เจกเฉ‡เจŸ เจกเฉ‡เจŸเจพ เจนเฉˆเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจธเจชเจฒเจฟเจŸ-เจฌเฉเจฐเฉ‡เจจ เจตเฉ€ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ;
  • เจธเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†. เจธเจพเจกเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš, เจฎเจพเจธเจŸเจฐ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€, เจธเจตเจฟเฉฑเจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฎเจพเจธเจŸเจฐ เจคเฉฑเจ• เจšเจฒเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉเจฃ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจœเฉ‹เฉœเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€;
  • เจธเจพเจจเฉ‚เฉฐ เจซเฉ‡เจฒเจ“เจตเจฐ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจพเจงเฉ‚ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ 12 PostgreSQL เจธเจผเจพเจฐเจก เจนเจจ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ 12 เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€เฅค เจธเจผเจพเจฐเจกเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจตเจพเจงเฉ‡ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเฉ‡เจฒเจ“เจตเจฐ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจตเฉ€ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจธเจตเฉˆ-เจฒเจฟเจ–เจค เจซเฉ‡เจฒเจ“เจตเจฐ เจฌเจนเฉเจค เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ—เฉˆเจฐ-เจฎเจพเจฎเฉ‚เจฒเฉ€ เจธเจนเจพเจ‡เจคเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ PostgreSQL เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจจเจพเจฒ, เจ‡เจน เจธเจญ เจคเฉ‹เจ‚ เจ†เจธเจพเจจ เจตเจฟเจ•เจฒเจช เจนเฉ‹เจตเฉ‡เจ—เจพ, เจชเจฐ เจ‡เจน เจธเจ•เฉ‡เจฒ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ‡เจธเจฒเจˆ เจ‡เจน เจธเจพเจกเฉ‡ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

Repmgr

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 เจฐเฉˆเจ—เฉ‚เจฒเจฐ เจ‡เฉฐเจธเจŸเฉˆเจ‚เจธ เจ•เฉ€เจฎเจค เจจเจพเจฒเฉ‹เจ‚ เจฒเจ—เจญเจ— เจฆเฉเฉฑเจ—เจฃเจพ เจฎเจนเจฟเฉฐเจ—เจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เจธ เจนเฉฑเจฒ เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃ เจฆเจพ เจฎเฉเฉฑเจ– เจ•เจพเจฐเจจ เจธเฉ€เฅค

เจธเจฐเจชเฉเจฐเจธเจค

เจ‡เจน Github 'เจคเฉ‡ เจšเฉฐเจ—เฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ PostgreSQL เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเจพเจˆเจฅเจจ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจนเฉˆเฅค

Patroni เจฆเฉ‡ เจซเจพเจ‡เจฆเฉ‡:

  • เจนเจฐเฉ‡เจ• เจธเฉฐเจฐเจšเจจเจพ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ;
  • เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจฌเจพเจ•เจธ เจฆเฉ‡ เจฌเจพเจนเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ;
  • python เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ–เฉเจฆ python เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจ•เฉเจ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚, เจธเจพเจกเฉ‡ เจฒเจˆ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฃเจพ เจ†เจธเจพเจจ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡, เจธเจผเจพเจ‡เจฆ, เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจตเจฟเฉฑเจš เจตเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ;
  • PostgreSQL เจฆเจพ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจจเจพ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจจเจตเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน Patroni เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจจเฉเจ•เจธเจพเจจ:

  • เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ PgBouncer เจจเจพเจฒ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจฎเจพเจ‡เจจเจธ เจ•เจนเจฟเจฃเจพ เจ”เจ–เจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจฆเจพ เจ•เฉฐเจฎ PostgreSQL เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจเจพ เจนเฉˆ, เจ…เจคเฉ‡ Patroni เจจเจพเจฒ เจ•เจจเฉˆเจ•เจธเจผเจจ เจ•เจฟเจตเฉ‡เจ‚ เจšเฉฑเจฒเฉ‡เจ—เจพ เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจพเจกเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ;
  • เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจจเฉ‚เฉฐ เจตเฉฑเจกเฉ€ เจฎเจพเจคเจฐเจพ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจ•เฉเจ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจนเจจเฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ Patroni เจจเฉ‚เฉฐ เจšเฉเจฃเจฟเจ†เฅค

Patroni เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†

Patroni เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจฎเจพเจธเจŸเจฐ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš 12 PostgreSQL เจธเจผเจพเจฐเจก เจ…เจคเฉ‡ เจ…เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจธ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเฉ€เฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐเจพเจ‚ เจจเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจฒเฉ‹เจก เจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ เจฆเฉเจ†เจฐเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€, เจœเจฟเจธ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ PgBouncer เจฆเฉ‡ เจจเจพเจฒ เจฆเฉ‹ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจธเจจ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจธเจพเจฐเฉ‡ PostgreSQL เจธเจฐเจตเจฐ เจธเจจเฅค
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

Patroni เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจŸเจฟเจก เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ•เจฒเฉฑเจธเจŸเจฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจšเฉเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€เฅค Patroni เจตเจฟเจคเจฐเจฟเจค เจธเฉฐเจฐเจšเจจเจพ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ etcd, Zookeeper, Consul เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฌเจœเจผเจพเจฐ 'เจคเฉ‡ เจนเฉเจฃเฉ‡ เจนเฉ€ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจฃ-เจ•เฉฐเจธเจฒ เจ•เจฒเฉฑเจธเจŸเจฐ เจนเฉˆ, เจœเฉ‹ Vault เจฆเฉ‡ เจจเจพเจฒ เจฎเจฟเจฒ เจ•เฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจธ เจฆเฉ‡ เจ‡เฉฑเจ›เจค เจ‰เจฆเฉ‡เจธเจผ เจฒเจˆ เจ•เฉŒเจ‚เจธเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจ•เจพเจฐเจจเฅค

เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เฉŒเจ‚เจธเจฒ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ

เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เฉŒเจ‚เจธเจฒ เจ•เจฒเฉฑเจธเจŸเจฐ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจจเฉ‹เจก เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเฉ‡เจคเจพ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ (เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจตเจฟเฉฑเจš, เจฎเจพเจธเจŸเจฐ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฒเฉ€เจกเจฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ—เฉเจฒเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ)เฅค เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจนเจฐ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจ—เจพเจคเจพเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ•เฉŒเจ‚เจธเจฒ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจ•เฉŒเจ‚เจธเจฒ เจคเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจฐเจšเจจเจพ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ†เจ—เฉ‚ เจ•เฉŒเจฃ เจนเฉˆเฅค

เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ 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 เจฐเจพเจนเฉ€เจ‚ เจœเจพเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจฆเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€เฅค เจšเฉฐเจ—เฉ€ เจ—เฉฑเจฒ เจ‡เจน python เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ. เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจนเฉ‹เจธเจŸ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจชเจพเจฐเจธ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ•เฉŒเจ‚เจธเจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจธเฉฐเจฐเจšเจจเจพ เจฌเจฒเจพเจ• เจธเจพเจกเฉ‡ เจฒเจˆ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

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

consul-template

เจ‡เจธ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจฒเจˆ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค เจนเฉเจฃ เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจธเจฎเจเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฒเฉ€เจกเจฐ เจฌเจฆเจฒเจฃ เจตเฉ‡เจฒเฉ‡ PgBouncer เจ†เจชเจฃเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฆเจฒเฉ‡เจ—เจพเฅค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš เจ‡เจธ เจธเจตเจพเจฒ เจฆเจพ เจ•เฉ‹เจˆ เจœเจตเจพเจฌ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ. เจ‰เฉฑเจฅเฉ‡, เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, PgBouncer เจจเจพเจฒ เจ•เฉฐเจฎ เจฆเจพ เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจ‡เฉฑเจ• เจนเฉฑเจฒ เจฆเฉ€ เจ–เฉ‹เจœ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฒเฉ‡เจ– เจฎเจฟเจฒเจฟเจ† (เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ เจธเจฟเจฐเจฒเฉ‡เจ– เจฏเจพเจฆ เจจเจนเฉ€เจ‚ เจนเฉˆ) เจœเจฟเฉฑเจฅเฉ‡ เจ‡เจน เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจ•เจฟ ะกonsul-template เจจเฉ‡ PgBouncer เจ…เจคเฉ‡ Patroni เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเฉ‡เจฐเจฟเจค เจ•เฉ€เจคเจพ เจ•เจฟ เจ•เฉŒเจ‚เจธเจฒ-เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ เจ•เฉŒเจ‚เจธเจฒ-เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจฒเจ—เจพเจคเจพเจฐ Consul เจตเจฟเฉฑเจš PostgreSQL เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจฒเฉ€เจกเจฐ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ, เจ‡เจน PgBouncer เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฎเฉเฉœ เจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค

เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจฆเจพ เจ‡เฉฑเจ• เจตเฉฑเจกเจพ เจชเจฒเฉฑเจธ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจ•เฉ‹เจก เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเจผเจพเจฐเจก เจœเฉ‹เฉœเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจชเฉเจฐเจคเฉ€เจฌเฉฑเจงเจคเจพ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจนเฉˆ, เจ•เฉ‹เจก เจธเจฟเจงเจพเจ‚เจค เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

Patroni เจฆเฉ‡ เจจเจพเจฒ เจจเจตเจพเจ‚ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเจพเจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจฆเฉ€ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจฏเฉ‹เจœเจจเจพ เจฎเจฟเจฒเฉ€:
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจธเจพเจฐเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเฉ‡ เจนเจจ โ†’ เจ‡เจธเจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ PgBouncer เจฆเฉ€เจ†เจ‚ เจฆเฉ‹ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจนเจจ โ†’ เจนเจฐ เจ‡เฉฑเจ• เจฎเฉŒเจ•เฉ‡ 'เจคเฉ‡, Consul-template เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจนเจฐเฉ‡เจ• Patroni เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ PgBouncer เจ•เฉŒเจ‚เจซเจฟเจ— เจฆเฉ€ เจชเฉเจฐเจธเฉฐเจ—เจฟเจ•เจคเจพ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฒเฉ€เจกเจฐ เจจเฉ‚เฉฐ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเจพเฅค

เจฎเฉˆเจจเฉเจ…เจฒ เจŸเฉˆเจธเจŸเจฟเฉฐเจ—

เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจ•เฉ€เจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ‡ เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจจ 'เจคเฉ‡ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจšเจฒเจพเจ‡เจ† เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจธเจตเจฟเจšเจฟเฉฐเจ— เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€เฅค เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจฌเฉ‹เจฐเจก เจ–เฉ‹เจฒเฉเจนเจฟเจ†, เจธเจŸเจฟเฉฑเจ•เจฐ เจจเฉ‚เฉฐ เจนเจฟเจฒเจพเจ‡เจ†, เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจจเฉ‡เจคเจพ เจจเฉ‚เฉฐ "เจฎเจพเจฐ เจฆเจฟเฉฑเจคเจพ"เฅค AWS เจตเจฟเฉฑเจš, เจ‡เจน เจ•เฉฐเจธเฉ‹เจฒ เจฆเฉเจ†เจฐเจพ เจ‰เจฆเจพเจนเจฐเจฃ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเจจ เจœเจฟเฉฐเจจเจพ เจธเฉŒเจ–เจพ เจนเฉˆเฅค

เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจธเจŸเจฟเฉฑเจ•เจฐ 10-20 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจตเจพเจชเจธ เจ† เจ—เจฟเจ†, เจ…เจคเฉ‡ เจซเจฟเจฐ เจฆเฉเจฌเจพเจฐเจพ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจนเจฟเฉฑเจฒเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‡ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ: เจ‡เจธ เจจเฉ‡ เจฒเฉ€เจกเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฟเจ†, ะกonsul เจจเฉ‚เฉฐ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจญเฉ‡เจœเฉ€, เจ…เจคเฉ‡ ะกonsul-template เจจเฉ‡ เจคเฉเจฐเฉฐเจค เจ‡เจธ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจšเฉเฉฑเจ• เจฒเจฟเจ†, PgBouncer เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ…เจคเฉ‡ เจฎเฉเฉœ เจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจ•เจฎเจพเจ‚เจก เจญเฉ‡เจœเฉ€เฅค

เจ‰เฉฑเจš เจฌเฉ‹เจ เจนเฉ‡เจ  เจ•เจฟเจตเฉ‡เจ‚ เจฌเจšเจฃเจพ เจนเฉˆ เจ…เจคเฉ‡ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจ•เจฟเจตเฉ‡เจ‚ เจฐเฉฑเจ–เจฃเจพ เจนเฉˆ?

เจธเจญ เจ•เฉเจ เจฌเจฟเจฒเจ•เฉเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ! เจชเจฐ เจจเจตเฉ‡เจ‚ เจธเจตเจพเจฒ เจนเจจ: เจ‡เจน เจ‰เฉฑเจš เจฒเฉ‹เจก เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพ? เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจขเฉฐเจ— เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เจฐเจจเจพ เจนเฉˆ?

เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจจ เจœเจฟเจธ 'เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจฒเฉ‹เจก เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจชเจนเจฟเจฒเฉ‡ เจธเจตเจพเจฒ เจฆเจพ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจ‰เจคเจชเจพเจฆเจจ เจฆเฉ‡ เจจเจพเจฒ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเจพเจจ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจจเฉ‡ เจŸเฉˆเจธเจŸ เจกเฉ‡เจŸเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจนเฉˆ เจœเฉ‹ เจ‰เจคเจชเจพเจฆเจจ เจฆเฉ‡ เจตเจพเจฒเฉ€เจ…เจฎ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— เจฌเจฐเจพเจฌเจฐ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ PostgreSQL เจฎเจพเจธเจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‚เฉฐ "เจฎเจพเจฐเจจ" เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ‡เจธ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจฐเฉ‹เจฒเจฟเฉฐเจ— เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจตเจพเจคเจพเจตเจฐเจฃ 'เจคเฉ‡ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจˆ PostgreSQL เจธเจผเจพเจฐเจก เจนเจจ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‰เจคเจชเจพเจฆเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเฉฐเจฐเจšเจจเจพ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฆเฉ€ เจธเจผเจพเจจเจฆเจพเจฐ เจœเจพเจ‚เจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

เจฆเฉ‹เจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ…เจญเจฟเจฒเจพเจธเจผเฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ PostgreSQL 9.6 เจนเฉˆเฅค เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค 11.2 เจคเฉฑเจ• เจ…เฉฑเจชเจ—เจฐเฉ‡เจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚?

เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ 2 เจชเฉœเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚: เจชเจนเจฟเจฒเจพเจ‚ 11.2 เจตเจฟเฉฑเจš เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเฉ‹, เจซเจฟเจฐ Patroni เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเฉ‹เฅค

PostgreSQL เจ…เฉฑเจชเจกเฉ‡เจŸ

PostgreSQL เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ, เจตเจฟเจ•เจฒเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ -k, เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเจพเจฐเจก เจฒเจฟเฉฐเจ• เจกเจฟเจธเจ• 'เจคเฉ‡ เจฌเจฃเจพเจ เจ—เจ เจนเจจ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ•เจพเจชเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค 300-400 GB เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจ…เฉฑเจชเจกเฉ‡เจŸ เจจเฉ‚เฉฐ 1 เจธเจ•เจฟเฉฐเจŸ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค

เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเจผเจพเจฐเจก เจนเจจ, เจ‡เจธ เจฒเจˆ เจ…เฉฑเจชเจกเฉ‡เจŸ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจฒเจฟเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจœเจตเจพเจฌเจฆเฉ‡เจน เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจฒเจฟเจ–เฉ€ เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ‡ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจ…เจชเจกเฉ‡เจŸ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจฒเจฆเฉ€ เจนเฉˆ:

/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 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเฉ€ เจนเฉ‹ เจ—เจˆ, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจจเจคเฉ€เจœเจพ เจนเฉˆเฅค

Patroni เจฒเจพเจ‚เจš เจ•เจฐเฉ‹

เจฆเฉ‚เจœเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจธเจฟเจฐเจซเจผ Patroni เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ‹. เจ…เจงเจฟเจ•เจพเจฐเจค เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš initdb เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจšเจจเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ Patroni เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค เจชเจฐ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจคเจฟเจ†เจฐ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจฌเจธ เจ‡เจธ เจญเจพเจ— เจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพ เจคเฉ‹เจ‚ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค

เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฎเฉŒเจœเฉ‚เจฆ PostgreSQL เจ•เจฒเฉฑเจธเจŸเจฐ 'เจคเฉ‡ Patroni เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจฎเฉฑเจธเจฟเจ† เจตเจฟเฉฑเจš เจซเจธ เจ—เจ: เจฆเฉ‹เจตเฉ‡เจ‚ เจธเจฐเจตเจฐ เจ‡เฉฑเจ• เจฒเฉ€เจกเจฐ เจตเจœเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจเฅค Patroni เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฆเฉ‹เจจเจพเจ‚ เจธเจฐเจตเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจจเจพเจฎ เจจเจพเจฒ เจฆเฉ‹ เจตเฉฑเจ–เจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจตเจœเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฒเฉ‡เจต เจฆเฉ‡ เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

rm -rf /var/lib/postgresql/

เจ‡เจน เจธเจฟเจฐเจซ เจ—เฉเจฒเจพเจฎ 'เจคเฉ‡ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ!

เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเจพเจซเจผ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจ•เจจเฉˆเจ•เจŸ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ‡เฉฑเจ• เจฌเฉ‡เจธเจฌเฉˆเจ•เจ…เจช เจฒเฉ€เจกเจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉ€เจชเจฒเฉ€เจ•เจพ เจตเจฟเฉฑเจš เจฐเฉ€เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจตเจพเจฒ เจฒเฉŒเจ—เจธ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจซเฉœ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจฎเฉเจธเจผเจ•เจฒ เจœเจฟเจธ เจฆเจพ เจธเจพเจจเฉ‚เฉฐ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ† เจ‰เจน เจ‡เจน เจนเฉˆ เจ•เจฟ เจธเจพเจฐเฉ‡ PostgreSQL เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจจเจพเจฎ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‚เจœเฉ‡ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเจพ, เจ‡เจน เจ†เจฎ เจ—เฉฑเจฒ เจนเฉˆเฅค เจชเจฐ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ Patroni เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจพเจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจจเจพเจฎ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจนเฉฑเจฒ เจนเฉˆ PostgreSQL เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเจพ เจจเจพเจฎ เจฌเจฆเจฒเจฃเจพเฅค

เจฒเฉ‹เจก เจŸเฉˆเจธเจŸ

เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจŸเฉˆเจธเจŸ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจนเฉˆ เจœเฉ‹ เจฌเฉ‹เจฐเจกเจพเจ‚ 'เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจจเฉเจญเจต เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจฒเฉ‹เจก เจธเจพเจกเฉ‡ เจ”เจธเจค เจฐเฉ‹เจœเจผเจพเจจเจพ เจฎเฉเฉฑเจฒ 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจ—เจฟเจ†, เจ…เจธเฉ€เจ‚ เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจนเฉ€ เจŸเฉˆเจธเจŸ เจฆเฉเจนเจฐเจพเจ‡เจ†, เจ…เจธเฉ€เจ‚ PostgreSQL เจฒเฉ€เจกเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจพเจฐ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจจเฉ‡ เจธเจพเจกเฉ€ เจ‰เจฎเฉ€เจฆ เจ…เจจเฉเจธเจพเจฐ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ: เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจจเฉ‡ เจฒเฉ€เจกเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ, เจ•เฉŒเจ‚เจธเจฒ-เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‡ PgBouncer เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจฐเฉ€เจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจญเฉ‡เจœเฉ€เฅค เจ—เฉเจฐเจพเจซเจพเจจเจพ เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ เจ—เฉเจฐเจพเจซเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจธเฉ€ เจ•เจฟ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจธเจฐเจตเจฐเจพเจ‚ เจคเฉ‹เจ‚ 20-30 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจฆเฉ‡เจฐเฉ€ เจ…เจคเฉ‡ เจฅเฉ‹เฉœเฉเจนเฉ€ เจœเจฟเจนเฉ€ เจ—เจฒเจคเฉ€เจ†เจ‚ เจนเจจ. เจ‡เจน เจ‡เฉฑเจ• เจ†เจฎ เจธเจฅเจฟเจคเฉ€ เจนเฉˆ, เจ…เจœเจฟเจนเฉ‡ เจฎเฉเฉฑเจฒ เจธเจพเจกเฉ‡ เจซเฉ‡เจฒเจ“เจตเจฐ เจฒเจˆ เจธเจตเฉ€เจ•เจพเจฐเจฏเฉ‹เจ— เจนเจจ เจ…เจคเฉ‡ เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฐเจตเจฟเจธ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจจเจพเจฒเฉ‹เจ‚ เจฌเจฟเจนเจคเจฐ เจนเจจเฅค

เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจฃเจพ

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจฏเฉ‹เจœเจจเจพ เจฒเฉˆ เจ•เฉ‡ เจ†เจ เจนเจพเจ‚:

  • เจ•เฉฐเจธเจฒ-เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ PgBouncer เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจคเจพเจ‡เจจเจพเจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจฒเจพเจ‚เจš เจ•เจฐเฉ‹;
  • PostgreSQL เจธเฉฐเจธเจ•เจฐเจฃ 11.2 เจฒเจˆ เจ…เฉฑเจชเจกเฉ‡เจŸ;
  • เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเจพ เจจเจพเจฎ เจฌเจฆเจฒเฉ‹;
  • เจชเฉˆเจŸเฉเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจนเฉ€, เจธเจพเจกเฉ€ เจธเจ•เฉ€เจฎ เจธเจพเจจเฉ‚เฉฐ เจฒเจ—เจญเจ— เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฎเฉ‡เจ‚ เจชเจนเจฟเจฒเจพ เจฌเจฟเฉฐเจฆเฉ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• PgBouncer เจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจคเฉ‹เจ‚ เจนเจŸเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธ 'เจคเฉ‡ เจ•เฉŒเจ‚เจธเจฒ-เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ…เจคเฉ‡ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ•เฉ€เจคเจพ.

เจคเจคเจ•เจพเจฒ เจคเฉˆเจจเจพเจคเฉ€ เจฒเจˆ, เจ…เจธเฉ€เจ‚ Ansible เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจจ 'เจคเฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ•เจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจนเจฐเฉ‡เจ• เจธเจผเจพเจฐเจก เจฒเจˆ 1,5 เจคเฉ‹เจ‚ 2 เจฎเจฟเฉฐเจŸ เจคเฉฑเจ• เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เฉ‡ เจฌเจฟเจจเจพเจ‚ เจนเจฐ เจ‡เฉฑเจ• เจธเจผเจพเจฐเจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจธเจญ เจ•เฉเจ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• PostgreSQL เจจเฉ‚เฉฐ เจ•เจˆ เจฎเจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจฌเฉฐเจฆ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเจพ เจกเฉ‡เจŸเจพ เจ‡เจธ เจธเจผเจพเจฐเจก เจตเจฟเฉฑเจš เจนเฉˆ, เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจธเจพเจกเฉ‡ เจฒเจˆ เจ…เจธเจตเฉ€เจ•เจพเจฐเจจเจฏเฉ‹เจ— เจนเฉˆเฅค

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจจเจฟเจ•เจฒเจฃ เจฆเจพ เจคเจฐเฉ€เจ•เจพ เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจฐเฉฑเจ–-เจฐเจ–เจพเจ… เจธเฉ€, เจœเฉ‹ เจนเจฐ 3 เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจฌเจพเจ…เจฆ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ…เจจเฉเจธเฉ‚เจšเจฟเจค เจ•เฉฐเจฎ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเฉฐเจกเฉ‹ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจ—เจฒเฉ€ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเจซเจผเจคเจพ เจฌเจพเจ•เฉ€ เจธเฉ€, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ…เฉฑเจ—เฉ‡ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค เจ‰เจกเฉ€เจ• เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจตเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเจพ: เจนเจฐเฉ‡เจ• PostgreSQL เจธเจผเจพเจฐเจก เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจจเจตเฉ€เจจเจคเจฎ เจกเฉ‡เจŸเจพ เจฐเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจ…เจธเจซเจฒ เจนเฉ‹เจฃ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจธเจผเจพเจฐเจก เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ‰เจฆเจพเจนเจฐเจฃ เจœเฉ‹เฉœเจฟเจ†, เจœเฉ‹ เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจฌเจฃเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจœเฉ‹ เจกเจพเจŸเจพ เจฎเจฟเจŸเจพเจ‰เจฃ เจฒเจˆ เจ•เจฎเจพเจ‚เจก เจจเจพ เจšเจฒเจพเจˆ เจœเจพ เจธเจ•เฉ‡เฅค เจ‡เจน เจธเจญ เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจœเฉ‹เจ–เจฎ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ.
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เฉ€เจคเจพ, เจธเจญ เจ•เฉเจ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจœเจฟเจตเฉ‡เจ‚ เจ‡เจน เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจธเฉ€, เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฟเจ†, เจชเจฐ เจ—เฉเจฐเจพเจซเจพเจ‚ 'เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ•เฉŒเจ‚เจธเจฒ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ…เจธเจงเจพเจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เฉฑเจš เจฒเฉ‹เจก เจฆเฉ‡เจ–เจฟเจ†เฅค
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจ…เจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจฎเจพเจนเฉŒเจฒ เจตเจฟเฉฑเจš เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ†? เจ‡เจน เจธเจฎเฉฑเจธเจฟเจ† เจฌเจนเฉเจค เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจ•เฉ‹เจก เจธเจฟเจงเจพเจ‚เจค เจตเจœเฉ‹เจ‚ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจจ เจคเฉ‹เจ‚ เจ‰เจคเจชเจพเจฆเจจ เจคเฉฑเจ•, เจธเจฎเฉเฉฑเจšเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจธเฉเจงเจพเจฐเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจฎเจฟเจฒเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจ†เจธเจพเจจ เจนเฉˆ. เจ•เฉ€ เจนเฉ‹เจ‡เจ†? เจ•เฉŒเจ‚เจธเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจ‰เจคเจชเจพเจฆเจจ 'เจคเฉ‡ เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ‡เจ†, เจ…เจคเฉ‡ เจซเจฟเจฐ เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ‚ 'เจคเฉ‡, เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ‚' เจคเฉ‡, เจ•เฉŒเจ‚เจธเจฒ เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจ‰เจคเจชเจพเจฆเจจ เจจเจพเจฒเฉ‹เจ‚ เจ‰เฉฑเจšเจพ เจธเฉ€เฅค เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• CPU เจฒเฉ€เจ• เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจ•เฉŒเจ‚เจธเจฒ-เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€. เจ‡เจธ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ•เฉŒเจ‚เจธเจฒ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

Patroni เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจฎเฉฑเจธเจฟเจ† เจฎเจฟเจฒเฉ€, เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจธเจผเฉฑเจ• เจตเฉ€ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค Consul เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ•เฉŒเจ‚เจธเจฒ เจฒเฉ€เจต เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจ•เฉŒเจ‚เจธเจฒ เจจเฉ‹เจก เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚ โ†’ Patroni เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เฉŒเจ‚เจธเจฒ เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจฆเจพ เจนเฉˆ โ†’ เจธเจญ เจ•เฉเจ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจฐ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ•เฉŒเจ‚เจธเจฒ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจ†เจ–เจฐเฉ€ เจธเจฅเจฟเจคเฉ€ 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจ—เจ เจ…เจคเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจธเจฒ เจ›เฉเฉฑเจŸเฉ€ เจ•เจฎเจพเจ‚เจก เจญเฉ‡เจœเฉ€, เจคเจพเจ‚ เจธเจพเจฐเฉ‡ เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจธ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจนเฉ‹ เจ—เจ, เจ…เจคเฉ‡ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ—เจฒเจคเฉ€ เจฆเฉ‡เจ–เฉ€:

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>

เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจ†เจชเจฃเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจธเฉ€ เจ…เจคเฉ‡ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจนเฉ‹ เจ—เจฟเจ†เฅค

เจ‡เฉฑเจ• เจนเฉฑเจฒ เจฒเฉฑเจญเจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ—เฉ€เจฅเจฌ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฎเฉเฉฑเจฆเฉ‡ เจฐเจพเจนเฉ€เจ‚ Patroni เจฒเฉ‡เจ–เจ•เจพเจ‚ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ• เจ•เฉ€เจคเจพเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจธเจพเจกเฉ€เจ†เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเจพ เจธเฉเจเจพเจ… เจฆเจฟเฉฑเจคเจพ:

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

เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจŸเฉˆเจธเจŸ เจตเจพเจคเจพเจตเจฐเจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€ เจ…เจคเฉ‡ เจ‰เฉฑเจฅเฉ‡ เจ‡เจนเจจเจพเจ‚ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€, เจชเจฐ เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพเฅค

เจธเจฎเฉฑเจธเจฟเจ† เจ…เจœเฉ‡ เจตเฉ€ เจ…เจฃเจธเฉเจฒเจเฉ€ เจนเฉ‹เจˆ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจนเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ‡ เจนเจพเจ‚:

  • เจนเจฐเฉ‡เจ• เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจฎเฉŒเจ•เฉ‡ 'เจคเฉ‡ เจ•เฉŒเจ‚เจธเจฒ-เจเจœเฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹;
  • เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเฉ‹เฅค

เจ…เจธเฉ€เจ‚ เจธเจฎเจเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ—เจฒเจคเฉ€ เจ•เจฟเฉฑเจฅเฉ‡ เจ†เจˆ เจนเฉˆ: เจธเจฎเฉฑเจธเจฟเจ† เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจŸเจพเจˆเจฎเจ†เจ‰เจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจฆเฉเจ†เจฐเจพ เจ“เจตเจฐเจฐเจพเจˆเจก เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจ†เจ–เจฐเฉ€ เจ•เฉŒเจ‚เจธเจฒ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจชเฉ‚เจฐเจพ เจ•เฉŒเจ‚เจธเจฒเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจ‡เฉฑเจ• เจธเจ•เจฟเฉฐเจŸ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจฒเจŸเจ• เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เจธ เจ•เจพเจฐเจจ, เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจ…เจคเฉ‡ เจชเฉ‚เจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจธเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจชเจฟเจ†เฅค

Patroni เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡

Patroni เจฆเฉ‡ เจธเจซเจฒ เจฒเจพเจ‚เจš เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจนเจฐเฉ‡เจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค เจนเฉเจฃ เจนเจฐเฉ‡เจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉ‹เจฐเจฎ เจฆเฉ€ เจ‡เฉฑเจ• เจเจฒเจ• เจนเฉˆ: เจ‡เฉฑเจ• เจฒเฉ€เจกเจฐ เจ…เจคเฉ‡ เจฆเฉ‹ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚, เจธเจตเจฟเจš เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจธเจชเจฒเจฟเจŸ-เจฌเฉเจฐเฉ‡เจจ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ† เจœเจพเจฒ เจฒเจˆเฅค
เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ PostgreSQL + Patroni. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจคเจœเจฐเจฌเจพ

เจชเฉˆเจŸเจฐเฉ‹เจจเฉ€ เจคเจฟเฉฐเจจ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจ‰เจคเจชเจพเจฆเจจ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ€ เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจฆเฉŒเจฐเจพเจจ, เจ‰เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš, เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเฉ‡ เจจเฉ‡เจคเจพ เจฆเฉ€ AWS เจตเจฟเฉฑเจš เจฎเฉŒเจค เจนเฉ‹ เจ—เจˆ, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจจเฉ‡ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฟเจ†เฅค เจธเจฐเจชเฉเจฐเจธเจค เจจเฉ‡ เจ†เจชเจฃเจพ เจฎเฉเฉฑเจ– เจ•เฉฐเจฎ เจชเฉ‚เจฐเจพ เจ•เฉ€เจคเจพเฅค

Patroni เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจธเฉฐเจ–เฉ‡เจช:

  • เจธเฉฐเจฐเจšเจจเจพ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฆเฉ€ เจธเฉŒเจ–. เจ‡เจน เจ‡เฉฑเจ• เจฎเฉŒเจ•เฉ‡ 'เจคเฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจ•เจพเจซเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉฑเจ• เจ–เจฟเฉฑเจšเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจจเจตเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฐเฉ€เจฌเฉ‚เจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ Patroni เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเฉ‡เจ—เจพเฅค Patroni เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจชเฉ‚เจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฌเจนเฉเจค เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจตเฉ€ เจนเฉˆเฅค
  • เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ PostgreSQL เจ…เฉฑเจชเจกเฉ‡เจŸเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจซเจฟเจฐ Patroni เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฒเฉ€เจกเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจฒเฉ€เจกเจฐ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจซเฉ‡เจฒเจ“เจตเจฐ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเฉ€ เจœเจพเจ‚เจš เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹