āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž PostgreSQL āĻĢāĻ˛ā§āĻŸ āĻŸāĻ˛āĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ‡āĻ¸ā§āĻ¯ā§āĻ¤ā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•ā§‡āĻ¨ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•ā§€ āĻ˜āĻŸā§‡āĻ›ā§‡āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ˛ā§‹āĻĄ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ 2,5 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€, āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ 50K+ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĨ¤ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ†āĻ¯āĻŧāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻžā§āĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻœā§‹āĻ¨ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤: 100+ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 50āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦā§ƒāĻšā§Ž āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨāĻŋāĻ• āĻ¸ā§āĻŸā§‡āĻŸāĻĢā§āĻ˛ āĻœāĻžāĻ­āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ° āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻ•ā§‡āĻŸ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ°āĻžāĻ–ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻāĻ•āĻ‡ āĻŦā§‹āĻ°ā§āĻĄā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻ–āĻ¨ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ•āĻ˛ā§‡āĻ‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛ āĻŸāĻžāĻ‡āĻŽā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ¨, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ˛āĻŋāĻ–āĻŋāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 10K āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ Redis-āĻ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ˛ā§‹āĻĄā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 80-100K āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ˛āĻŋāĻ–āĻŋāĨ¤
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ•ā§‡āĻ¨ āĻ†āĻŽāĻ°āĻž Redis āĻĨā§‡āĻ•ā§‡ PostgreSQL āĻ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§‡āĻ›āĻŋ

āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž Redis-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛, āĻāĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĻā§‹āĻ•āĻžāĻ¨ āĻ¯āĻž āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° RAM-āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡ā§ˇ

āĻ°ā§‡āĻĄāĻŋāĻ¸ā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž:

  1. āĻ‰āĻšā§āĻš āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ—āĻ¤āĻŋ, āĻ•āĻžāĻ°āĻŖ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;
  2. āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻšāĻœ.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ Redis āĻāĻ° āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž:

  1. āĻ•ā§‹āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ†āĻ›ā§‡. āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŸāĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ­āĻžāĻ˛ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ–ā§āĻŦ āĻœāĻŸāĻŋāĻ˛ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧāĨ¤
  2. āĻĄā§‡āĻŸāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§€āĻŽāĻŋāĻ¤āĨ¤ āĻĄā§‡āĻŸāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¯āĻ¤ āĻŦāĻžāĻĄāĻŧāĻŦā§‡, āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻžāĻĄāĻŧāĻŦā§‡, āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻŦ, āĻ¯āĻž AWS-āĻ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻ§āĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ā§ˇ
  3. āĻāĻŸāĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽ āĻ˛ā§‡āĻŸā§‡āĻ¨ā§āĻ¸āĻŋ āĻ¸ā§āĻ¤āĻ° āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ•āĻžāĻ°āĻŖ. āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻŦāĻĄāĻŧ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ†āĻ›ā§‡. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡āĻ° āĻ¸ā§āĻ¤āĻ° āĻšāĻ˛ 17-20 msāĨ¤ 30-40 ms āĻāĻ° āĻ¸ā§āĻ¤āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻŦā§‡āĻĻāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ…āĻŦāĻ¨āĻ¤āĻŋ āĻĒāĻžāĻ‡āĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ 2018 āĻ¸āĻžāĻ˛ā§‡āĻ° āĻ¸ā§‡āĻĒā§āĻŸā§‡āĻŽā§āĻŦāĻ°ā§‡ āĻ˜āĻŸā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻ–āĻ¨ Redis-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻž āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ 2 āĻ—ā§āĻŖ āĻŦā§‡āĻļāĻŋ āĻ˛ā§‡āĻŸā§‡āĻ¨ā§āĻ¸āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻŋāĻĄ-āĻĄā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻ°ā§‡āĻĄāĻŋāĻ¸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤
  4. āĻ•ā§‹āĻĄā§‡ āĻ›ā§‹āĻŸāĻ–āĻžāĻŸā§‹ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĨāĻžāĻ•āĻ˛ā§‡āĻ“ āĻĄā§‡āĻŸāĻžāĻ° āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻŦā§āĻāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡āĻ° āĻ‰āĻĒāĻ° āĻ•āĻŽ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸āĻš āĻ†āĻ°āĻ“ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ•āĻŋāĻ›ā§āĻ¤ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ—āĻŦā§‡āĻˇāĻŖāĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ PostgreSQL āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ 1,5 āĻŦāĻ›āĻ° āĻ§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻšāĻ˛ā§‡ āĻāĻ¸ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ…āĻ‚āĻļāĻ‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¤āĻžāĻ‡ āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž Redis āĻāĻŦāĻ‚ PostgreSQL āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¯ā§‹āĻ—ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋāĨ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŦāĻ‚ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ āĻ†āĻŽāĻžāĻ° āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§.

āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ°ā§‡āĻĄāĻŋāĻ¸ āĻāĻŦāĻ‚ PostgreSQL āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĨ¤ PostgreSQL āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ:
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

PgBouncer āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻšāĻ˛āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ¤āĻ–āĻ¨ āĻĒāĻŖā§āĻ¯āĻŸāĻŋāĻ“ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻ›āĻŋāĻ˛: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻŦāĻ‚ PostgreSQL āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§‡āĻĄāĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻ…āĻ­āĻžāĻŦ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ PostgreSQL āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒāĻĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻžāĻŦāĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻ†āĻĻāĻ°ā§āĻļ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻšāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ• āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻž āĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻĻāĻžāĻāĻĄāĻŧāĻžāĻŦā§‡āĨ¤

āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĻā§āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ›āĻŋāĻ˛: Pgpool āĻāĻŦāĻ‚ PgBouncerāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻŽā§‹āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž PgBouncer āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻžāĻœā§‡āĻ° āĻ¸ā§āĻ•āĻŋāĻŽ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°ā§‡āĻ›āĻŋ: āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ PgBouncer āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ†āĻŽāĻ°āĻž PostgreSQL-āĻ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋ āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ—āĻ¤āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ›āĻŋāĻ˛, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡ PostgreSQL āĻļāĻžāĻ°ā§āĻĄ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•: āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ PostgreSQL āĻļāĻžāĻ°ā§āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŸāĻŋ PgBouncer āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ°ā§āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

PgBouncer āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ°

āĻāĻ‡ āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻ¸ā§‡āĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° PgBouncer āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻŽāĻžāĻ°āĻž āĻ—āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻ°āĻž AWS-āĻ āĻ†āĻ›āĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻšāĻ˛āĻ›ā§‡ āĻ¯āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ āĻŽāĻžāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ PgBouncer āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ˜āĻŸā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻ¤āĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ›āĻŋāĻ˛ 25 āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ…āĻ¨ā§āĻĒāĻ˛āĻŦā§āĻ§āĻ¤āĻžāĨ¤ AWS āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸āĻžāĻ‡āĻĄ āĻ°āĻŋāĻĄāĻžāĻ¨āĻĄā§‡āĻ¨ā§āĻ¸āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§‡āĻļā§‡ āĻ¤āĻ–āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤

āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž PgBouncer āĻāĻŦāĻ‚ PostgreSQL āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻšāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦ āĻ¸āĻšāĻ•āĻžāĻ°ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻžāĻĻā§‡āĻ° AWS āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻāĻ•āĻ‡ āĻ°āĻ•āĻŽ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ 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 āĻĄāĻŋāĻāĻ¨āĻāĻ¸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŸāĻŋāĻ•ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ 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 āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĨ¤

Patroni āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž:

  • āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŸāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ;
  • āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡;
  • āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ˛āĻŋāĻ–āĻŋāĻ¤, āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–āĻŋ, āĻ¤āĻžāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻ¸āĻšāĻœ āĻšāĻŦā§‡ āĻāĻŦāĻ‚, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, āĻāĻŽāĻ¨āĻ•āĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°āĻŦā§‡;
  • āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ PostgreSQL āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ Patroni āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ†āĻŦāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻ¨āĻ¸:

  • āĻ•āĻŋāĻ­āĻžāĻŦā§‡ PgBouncer āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋāĻ“ āĻāĻŸāĻžāĻ•ā§‡ āĻŦāĻŋāĻ¯āĻŧā§‹āĻ— āĻŦāĻ˛āĻž āĻ•āĻ āĻŋāĻ¨, āĻ•āĻžāĻ°āĻŖ Patroni-āĻāĻ° āĻ•āĻžāĻœ āĻšāĻ˛ PostgreSQL āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž, āĻāĻŦāĻ‚ Patroni-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¯āĻžāĻŦā§‡ āĻ¤āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž;
  • āĻŦā§ƒāĻšā§Ž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡ Patroni āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻĻāĻŋāĻ“ āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ Patroni āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻĒā§ƒāĻˇā§āĻ āĻĒā§‹āĻˇāĻ•āĻ¤āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž

Patroni āĻāĻ° āĻ†āĻ—ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ 12āĻŸāĻŋ PostgreSQL āĻļāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ›āĻŋāĻ˛āĨ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ˛ā§‹āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§‡āĻ¨ā§āĻ¸āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻžāĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻĻā§āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ›āĻŋāĻ˛ PgBouncer, āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ PostgreSQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ›āĻŋāĻ˛ā§ˇ
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

Patroni āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ Patroni āĻŦāĻŋāĻ¤āĻ°āĻŖāĻ•ā§ƒāĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨ etcd, Zookeeper, Consul. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻœāĻžāĻ°ā§‡ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ†āĻ›ā§‡, āĻ¯āĻž Vault-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ†āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻāĻ° āĻ‰āĻĻā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ•āĻžāĻ°āĻŖāĨ¤

āĻĒā§āĻ¯āĻžāĻŸā§āĻ°ā§‹āĻ¨āĻŋ āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤, āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻŸā§āĻ°ā§‹āĻ¨āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻ¤āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤ (āĻĒā§āĻ¯āĻžāĻŸā§āĻ°ā§‹āĻ¨āĻŋāĻ¤ā§‡, āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¨ā§‡āĻ¤āĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ•ā§āĻ°ā§€āĻ¤āĻĻāĻžāĻ¸āĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ)āĨ¤ Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ•āĻ¨āĻ¸āĻžāĻ˛āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĒā§āĻ¯āĻžāĻŸā§āĻ°ā§‹āĻ¨āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡ āĻ•ā§‡ āĻ¨ā§‡āĻ¤āĻž āĻ¤āĻž āĻœāĻžāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° 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

āĻāĻŸāĻž āĻ¸āĻšāĻœ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻžāĻ¨ā§‡ pitfalls āĻļā§āĻ°ā§. āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ†āĻŽāĻ°āĻž https āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻāĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻžāĻŦā§‡:

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

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ¤ā§‡ āĻ•āĻžāĻœ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒā§‡, Patroni āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡āĻ‡ āĻšā§‹āĻ• http āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĨ¤

Patroni āĻāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ­āĻžāĻ˛ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻāĻŸāĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡. āĻāĻŸāĻž āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻšā§‹āĻ¸ā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ•ā§‹āĻ¨ā§‹āĻ­āĻžāĻŦā§‡āĻ‡ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŦāĻ‚ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§āĻ•āĻŋāĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ˛āĻ•āĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡āĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡:

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-āĻ PostgreSQL āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻ¨ā§‡āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ PgBouncer āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤

āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻĒā§āĻ˛āĻžāĻ¸ āĻšāĻ˛ āĻāĻŸāĻŋ āĻ•ā§‹āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ°ā§āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻŸāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ, āĻ•ā§‹āĻĄ āĻ¨ā§€āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤

Patroni āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻžāĻœā§‡āĻ° āĻ¸ā§āĻ•āĻŋāĻŽ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ:
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦā§āĻ¯āĻžāĻ˛ā§‡āĻ¨ā§āĻ¸āĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡ → āĻāĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ PgBouncer-āĻāĻ° āĻĻā§āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ°āĨ¤

āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻāĻ‡ āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻ‡āĻšāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻž āĻŦā§‹āĻ°ā§āĻĄāĻŸāĻŋ āĻ–ā§āĻ˛ā§‡āĻ›āĻŋāĻ˛, āĻ¸ā§āĻŸāĻŋāĻ•āĻžāĻ°āĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤āĻžāĻ•ā§‡ "āĻšāĻ¤ā§āĻ¯āĻž" āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĨ¤ AWS-āĻ, āĻāĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻ¸āĻšāĻœāĨ¤

āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ¸ā§āĻŸāĻŋāĻ•āĻžāĻ°āĻŸāĻŋ 10-20 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻĒā§āĻ¯āĻžāĻŸā§āĻ°ā§‹āĻ¨āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡: āĻāĻŸāĻŋ āĻ¨ā§‡āĻ¤āĻžāĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ•āĻ¨āĻ¸ā§āĻ˛ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻ¸ā§āĻ˛-āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻāĻ‡ āĻ¤āĻĨā§āĻ¯āĻŸāĻŋ āĻ¤ā§āĻ˛ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, 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/

āĻāĻŸāĻž āĻļā§āĻ§ā§ āĻĻāĻžāĻ¸ā§‡āĻ° āĻ‰āĻĒāĻ°āĻ‡ āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ°!

āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ Patroni āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ˛āĻŋāĻĄāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ“āĻ¯āĻŧāĻžāĻ˛ āĻ˛āĻ— āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ PostgreSQL āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§āĻ‡ āĻœāĻžāĻ¨ā§‡ āĻ¨āĻž, āĻāĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ Patroni āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ¤āĻ–āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻ¨āĻžāĻŽ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ PostgreSQL āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĨ¤

āĻ˛ā§‹āĻĄ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻž āĻŦā§‹āĻ°ā§āĻĄā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻžāĻ° āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻ–āĻ¨ āĻ˛ā§‹āĻĄ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ—āĻĄāĻŧ āĻĻā§ˆāĻ¨āĻŋāĻ• āĻŽāĻžāĻ¨ āĻĒā§ŒāĻāĻ›ā§‡āĻ›ā§‡, āĻ†āĻŽāĻ°āĻž āĻ āĻŋāĻ• āĻāĻ•āĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ†āĻŽāĻ°āĻž PostgreSQL āĻ¨ā§‡āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡: Patroni āĻ¨ā§‡āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ•āĻ¨āĻ¸āĻžāĻ˛-āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ PgBouncer āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ Grafana-āĻ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ—ā§āĻ°āĻžāĻĢ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻāĻŸāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¯ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ 20-30 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻāĻŦāĻ‚ āĻ…āĻ˛ā§āĻĒ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĄāĻžāĻ‰āĻ¨āĻŸāĻžāĻ‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ­āĻžāĻ˛āĨ¤

āĻĒāĻžāĻ¤ā§āĻ°ā§‹āĻ¨āĻŋāĻ•ā§‡ āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻž

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻāĻ¸ā§‡āĻ›āĻŋ:

  • PgBouncer āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ˛-āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨;
  • PostgreSQL āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 11.2 āĻ†āĻĒāĻĄā§‡āĻŸ;
  • āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨;
  • Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻŋāĻœāĻŋāĻŦāĻžāĻ‰āĻ¨ā§āĻ¸āĻžāĻ°āĻ•ā§‡ āĻ•āĻžāĻœ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ˛-āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ“ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻĻā§āĻ°ā§āĻ¤ āĻŽā§‹āĻ¤āĻžāĻ¯āĻŧā§‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž Ansible āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ˛ā§‡āĻŦā§āĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ›āĻŋāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļāĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 1,5 āĻĨā§‡āĻ•ā§‡ 2 āĻŽāĻŋāĻ¨āĻŋāĻŸāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļāĻžāĻ°ā§āĻĄā§‡ āĻĒāĻžāĻ˛āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ°ā§‹āĻ˛ āĻ†āĻ‰āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ PostgreSQL āĻ•āĻ¯āĻŧā§‡āĻ• āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻāĻ‡ āĻļāĻžāĻ°ā§āĻĄā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻĒā§āĻ°ā§‹āĻĒā§āĻ°āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤

āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻžāĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ›āĻŋāĻ˛ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻŋāĻ¤ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ, āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋ 3 āĻŽāĻžāĻ¸ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹, āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻ†āĻĒāĻ—ā§āĻ°ā§‡āĻĄ āĻ•āĻ°āĻŋāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ¤ā§‡ āĻāĻ• āĻ¸āĻĒā§āĻ¤āĻžāĻš āĻŦāĻžāĻ•āĻŋ āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ°āĻ•ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ: āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ PostgreSQL āĻļāĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻĄā§‡āĻŸāĻž āĻ°āĻžāĻ–āĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ‰āĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻļāĻžāĻ°ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‚āĻĒ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻŦā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ¸āĻŦ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻā§āĻāĻ•āĻŋ āĻ•āĻŽāĻžāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡.
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ¨āĻƒāĻ¸ā§‚āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻšāĻŋāĻ¤ āĻ›āĻŋāĻ˛ āĻ¤ā§‡āĻŽāĻ¨ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ—ā§āĻ°āĻžāĻĢāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ‰āĻšā§āĻš āĻ˛ā§‹āĻĄ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ•ā§‡āĻ¨ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒā§‡āĻ˛āĻžāĻŽ āĻ¨āĻž? āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ–ā§āĻŦ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻĄ āĻ¨ā§€āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ—ā§āĻ° āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¤āĻž āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ–ā§āĻŦ āĻ¸āĻšāĻœāĨ¤ āĻ•āĻŋ āĻšāĻ˛ā§‹? āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡, āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡, āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ›āĻŋāĻ˛āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡, āĻ•āĻ¨āĻ¸āĻžāĻ˛-āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ CPU āĻĢāĻžāĻāĻ¸ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ°āĻŋāĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻ•āĻ°ā§āĻ¨

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻ“ āĻ•āĻ°āĻŋāĻ¨āĻŋāĨ¤ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ˛āĻŋāĻ­ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ¨ā§‹āĻĄ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻŋ → Patroni āĻ…āĻ¨ā§āĻ¯ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ → āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻļā§‡āĻˇ āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ā§‡ āĻĒā§ŒāĻāĻ›ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ˛āĻŋāĻ­ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ¤āĻ–āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ 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 āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¤āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ–ā§āĻāĻœāĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ—āĻŋāĻĨā§āĻŦā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Patroni āĻ˛ā§‡āĻ–āĻ•āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡:

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

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤ āĻ¤āĻžāĻ°āĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ¨āĻŋāĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ…āĻŽā§€āĻŽāĻžāĻ‚āĻ¸āĻŋāĻ¤ āĻ°āĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°āĻ›āĻŋ:

  • āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ˛-āĻāĻœā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
  • āĻ•ā§‹āĻĄā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻŽāĻ°āĻž āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸā§‡āĻ›ā§‡: āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŸāĻžāĻ‡āĻŽāĻ†āĻ‰āĻŸā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻ¯āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¯āĻ–āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻļā§‡āĻˇ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻĒā§āĻ°ā§‹ āĻ•āĻ¨āĻ¸āĻžāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻāĻ• āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡ āĻ¸ā§āĻ¤āĻŦā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĨ¤

āĻ¸ā§ŒāĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻ†āĻŽāĻ°āĻž āĻ†āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ‡āĻ¨āĻŋāĨ¤

Patroni āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛

Patroni-āĻāĻ° āĻ¸āĻĢāĻ˛ āĻ˛āĻžā§āĻšā§‡āĻ° āĻĒāĻ°, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ°ā§‡āĻĒā§āĻ˛āĻŋāĻ•āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻ–āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻ°āĻžāĻŽā§‡āĻ° āĻ†āĻ­āĻžāĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: āĻāĻ•āĻœāĻ¨ āĻ¨ā§‡āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ, āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤-āĻŽāĻ¸ā§āĻ¤āĻŋāĻˇā§āĻ•ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻœāĻžāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤
āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° PostgreSQL + Patroni. āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž

āĻ¤āĻŋāĻ¨ āĻŽāĻžāĻ¸ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡ āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ¨āĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§‹āĻ¨āĻŋāĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ¤āĻŋāĻ¨āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ, āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤āĻž AWS-āĻ¤ā§‡ āĻŽāĻžāĻ°āĻž āĻ—ā§‡āĻ›ā§‡, āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡āĻ¨āĨ¤ āĻĒā§ƒāĻˇā§āĻ āĻĒā§‹āĻˇāĻ• āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨.

Patroni āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ¸āĻžāĻ°āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒ:

  • āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻšāĻœ. āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒā§āĻ°ā§‹ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŸāĻžāĻ¨āĻž āĻšāĻŦā§‡āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĻāĻŋ āĻ°āĻŋāĻŦā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ Patroni āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻœāĻžāĻ¨āĻžāĻŦā§‡āĨ¤ Patroni āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°ā§‹ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻ–ā§āĻŦāĻ‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•āĨ¤
  • āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄāĻžāĻ‰āĻ¨āĻŸāĻžāĻ‡āĻŽ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ PostgreSQL āĻ†āĻĒāĻĄā§‡āĻŸāĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° Patroni āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ¨ā§‡āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ¨ā§‡āĻ¤āĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ā§ˇ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˜āĻŸā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨