ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° Patroni Π΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ Π²ΠΈΡΠΎΠΊΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π·Π° PostgreSQL. ΠΠΎ Patroni Π΅ ΡΠ°ΠΌΠΎ ΡΠ°Π±Π»ΠΎΠ½, Π° Π½Π΅ Π³ΠΎΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ (ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅ ΠΊΠ°Π·Π²Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°). ΠΠ° ΠΏΡΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Patroni Π² ΡΠ΅ΡΡΠΎΠ²Π°ΡΠ° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΡΠ² ΡΡΡΠ°Ρ ΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Ρ ΠΎΠΏΠΈΡΠΈΡΠ΅ Π½ΠΈ Π΄Π° ΡΠ°Π·Π±ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΎΠ±Π°ΡΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π° Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΈ Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π² ΡΠ΅ΡΡΠΎΠ²Π° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡ.
Π©Π΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ. ΠΠ°ΠΏΠΎΡΠ½Π°Ρ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ. Π Π°Π±ΠΎΡΠΈΠ» Π² ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°. Π Π°Π±ΠΎΡΡ Π² Data Egret ΠΎΡ 2014 Π³. Π€ΠΈΡΠΌΠ°ΡΠ° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ ΠΊΠΎΠ½ΡΡΠ»ΡΠ°ΡΠΈΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° Postgres. Π Π½ΠΈΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°ΠΌΠ΅ ΡΠΎΡΠ½ΠΎ Postgres ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Postgres Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΠΏΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ°.
Π Π² ΠΊΡΠ°Ρ Π½Π° 2018 Π³. Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π±Π°Π²Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Patroni. Π ΡΠ΅ Π½Π°ΡΡΡΠΏΠ° ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΎΠΏΠΈΡ. ΠΡΠΊΠ°ΠΊ ΡΠΈ Π³ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Ρ ΠΌΠ΅, Π½Π°ΡΡΡΠΎΠΈΡ ΠΌΠ΅ Π³ΠΎ, ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ Π½Π°ΡΠΈΡΠ΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. Π Π² ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΡΡ .
ΠΡΠ²Π΅Π½ Postgres, ΠΎΠ±ΠΈΡΠ°ΠΌ Linux. ΠΠ±ΠΈΡΠ°ΠΌ Π΄Π° ΡΠ΅ ΡΠΎΠ²Ρ Π² Π½Π΅Π³ΠΎ ΠΈ Π΄Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°ΠΌ, ΠΎΠ±ΠΈΡΠ°ΠΌ Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌ ΡΠ΄ΡΠ°. ΠΠ±ΠΈΡΠ°ΠΌ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅, Π΄ΠΎΠΊΠ΅ΡΠΈΡΠ΅, Kubernetes. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°, Π·Π°ΡΠΎΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ Π½Π°Π²ΠΈΡΠΈ Π²Π»ΠΈΡΡΡ. ΠΠ±ΠΈΡΠ°ΠΌ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π Π°Π· ΠΎΠ±ΠΈΡΠ°ΠΌ postgres Π½Π΅ΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅, Ρ.Π΅. ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅. Π Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΡΠΈ Π²ΡΠ΅ΠΌΠ΅ ΠΏΠΈΡΠ° Π½Π° Go. ΠΠ΅ ΡΡΠΌ ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ° Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ Π² Go. Π ΠΌΠΈ Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΈΠ΅.
- ΠΠΈΡΠ»Ρ, ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ Π²Π°Ρ Π·Π½Π°ΡΡ, ΡΠ΅ Postgres Π½ΡΠΌΠ° HA (High Availability) Π²Π΅Π΄Π½Π°Π³Π°. ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ HA, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π΅ΡΠΎ, Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅, Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡ ΠΈ Π΄Π° Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅.
- ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈ Patroni Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ , ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° HA Π΄ΠΎΡΡΠ° Π³ΠΎΡΠΈΠ½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅. ΠΠΎ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² ΡΠ΅ΡΡΠΎΠ²Π° Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡ ΠΈ Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Patroni Π³ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°. Π ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ΄Π΅ΡΠ½ΠΎ.
- ΠΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π Π°Π· ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
- Π©Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π³ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Ρ ΠΌΠ΅, ΠΊΠ°ΠΊΠ²ΠΎ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ ΠΌΠ΅ - Π΄Π°Π»ΠΈ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΈΠ»ΠΈ Π½Π΅.
- ΠΡΠΌΠ° Π΄Π° Π²ΠΈ ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Patroni, Π·Π°ΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅ Π² Google Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡΠ²Π° Π²ΡΠΈΡΠΊΠΎ, ΠΊΠ°ΠΊ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΡΡ Π΅ΠΌΠΈΡΠ΅, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅, Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.
- ΠΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΡΠΆΠ΄ ΠΎΠΏΠΈΡ. Π©Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅.
- Π Π½ΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΈΠ·Π²ΡΠ½ Patroni ΠΈ PostgreSQL. ΠΠΊΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ΅ Π΅ ΡΡΠΈΠ½Π°Π», Π½ΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π°.
Π ΠΌΠ°Π»ΡΠΊ ΠΎΡΠΊΠ°Π· ΠΎΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π½Π°ΡΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄.
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅, Π³ΠΈ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΡΠ΅Π· ΠΏΡΡΠ²ΠΈΡΠ΅ 6-7-8 ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΠ°. Π‘ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ Π½Π°ΡΠΈΡΠ΅ Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. Π ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π½ΠΈ ΠΈΠ·ΡΠ΅Π·Π½Π°Ρ Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄ΡΡ Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ²Π΅Π½ ΠΏΡΠ΅Π΄ΠΈ ΠΎΠΊΠΎΠ»ΠΎ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π±Π΅ΡΠ΅ ΠΏΡΡΡΠ½ΠΎ Π² Π³Π»Π°Π²Π°ΡΠ° ΠΌΠΈ ΠΈ Π³ΠΎ ΠΏΠΎΠΌΠ½Π΅Ρ ΠΏΠ΅ΡΡΠ΅ΠΊΡΠ½ΠΎ.
Π Ρ ΠΎΠ΄Π° Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π²Π΅ΡΠ΅ ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ ΡΡΠ°ΡΠΈ Π°ΡΡΠΎΠΏΡΠΈΠΈ, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅. Π Π½ΡΠΊΠΎΠΈ ΠΎΡ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°Π±ΡΠ°Π²Π΅Π½ΠΈ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½ΡΠΊΠΎΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ Π² Π½ΡΠΊΠΎΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π½Π΅ ΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ° ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π»ΠΈΠΏΡΠ° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π Π·Π°ΡΠΎΠ²Π° Π²ΠΈ ΠΌΠΎΠ»Ρ Π΄Π° ΠΌΠ΅ ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ°ΠΊΠ²ΠΎ Π΅ Patroni?
- Π’ΠΎΠ²Π° Π΅ ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° HA. Π’Π°ΠΊΠ° ΠΏΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°. Π ΠΎΡ ΠΌΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅. Patroni Π½Π΅ Π΅ ΡΡΠ΅Π±ΡΡΠ΅Π½ ΠΊΡΡΡΡΠΌ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ΡΠΈ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠΎΠ΅ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡ, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π΄Π° Π½ΠΎΡΠΈ ΠΏΠΎΠ»Π·ΠΈ.
- Π’ΠΎΠ²Π° Π΅ Π°Π³Π΅Π½ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π½Π° Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΅ Π²ΠΈΠ΄ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡ Postgres. Π’ΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠ° Postgres, ΡΠΏΠΈΡΠ°, ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°, ΠΏΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.
- Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠ΅ΠΊΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½ΡΠΊΠ°ΠΊΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π ΠΎΡ ΡΠ°Π·ΠΈ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Patroni ΠΏΠΎΠ΅ ΠΏΠΎ ΠΏΡΡΡ Π½Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π²ΡΠ² Π²ΡΠ½ΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. Π’ΠΎΠ²Π° Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Etcd, Consul, ZooKeeper ΠΈΠ»ΠΈ kubernetes Etcd, Ρ.Π΅. Π΅Π΄Π½Π° ΠΎΡ ΡΠ΅Π·ΠΈ ΠΎΠΏΡΠΈΠΈ.
- Π Π΅Π΄Π½Π° ΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° Patroni Π΅, ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈΡ ΡΠ°ΠΉΠ» ΠΎΡ ΠΊΡΡΠΈΡΡΠ°, ΡΠ°ΠΌΠΎ ΠΊΠ°ΡΠΎ Π³ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΠ΅. ΠΠΊΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ Repmgr Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΡΠΎΠ³Π°Π²Π° ΡΠ°ΠΉΠ»ΡΡ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ°ΠΌ. Π‘ Repmgr ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅, Π½ΠΎ Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ», ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ. Patroni Π²Π΅ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ».
- Π ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ Π½Π΅ΡΠ° ΠΈΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠΈΠΏΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π±Π΅ΠΊΡΠΏ ΠΈ Ρ.Π½. ΠΠΎ ΡΠΎΠ²Π° Π΅ ΠΈΠ·Π²ΡΠ½ ΠΎΠ±Ρ Π²Π°ΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°, Π½ΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π°.
Π ΠΌΠ°Π»ΡΠΊ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π½Π° Patroni Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π°Π²ΡΠΎΡΠ°ΠΉΠ» Π΄ΠΎΠ±ΡΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π΄Π° ΠΎΡΡΠ°Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π½Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
ΠΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Patroni, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½ΠΈ ΡΡΠ°Π²Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°. ΠΠΊΠΎ ΠΏΠΎ-ΡΠ°Π½ΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅ Postgres, ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Patroni ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΈΡ Patroni, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ DCS, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ. Π Π²ΡΠΈΡΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½. Π ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠΊΠ°?
ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡΠΏΠΈ:
- Postgre ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡΠΏΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΌΠ°ΠΉΡΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π½ΡΠΊΠΎΠΉ ΠΎΡ ΡΡΡ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ.
- Π‘Π°ΠΌΠΈΡΡ Patroni ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡΠΏΠΈ.
- DCS, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ.
- Π ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡΠΏΠΈ.
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΠΎΡΠΊΠΈ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π°.
Π©Π΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌ ΡΠ»ΡΡΠ°ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ°Π²Π°Ρ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ, Π° Π½Π΅ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ°, ΡΠ΅ ΡΠ»ΡΡΠ°ΡΡ Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΡΠ±Π΅ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΡΠ΅ΡΠ°Π½ΠΈΡ, ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΌΠΈ Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π΅Π½, Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° Π³ΠΎ ΡΠ°Π·Π³Π»ΠΎΠ±Ρ ... ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ, Π½ΡΠΊΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ Π±Π΅ΡΠ΅ Π»Π΅ΠΊ ΠΈ Π±Π΅ΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΡΠ°Π·Π³Π»ΠΎΠ±Ρ.
Π ΠΏΡΡΠ²ΠΈΡΡ ΡΠ»ΡΡΠ°ΠΉ Π΅ Π½Π°ΠΉ-Π»Π΅ΡΠ½ΠΈΡΡ. Π’Π°ΠΊΡΠ² Π΅ ΡΠ»ΡΡΠ°ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π²Π·Π΅Ρ ΠΌΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ ΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ DCS Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° ΡΡΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ΡΠ΅ΡΡΠ°ΡΠ° Π³ΡΠ΅ΡΠΊΠ°. Π’ΠΎΠ²Π° Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, Ρ.Π΅. ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ.
Π ΡΠ°ΠΊΠ°, ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΉΠ», Π½Π΅ΠΊΠ° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΠΌ ΡΡΡ ΡΠ»ΡΡΠΈΠ»ΠΎΡΠΎ ΡΠ΅.
Π ΡΡΠΊ Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ³Π° ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ» ΡΠΈΠ»Π΅ΡΡΡ. Π’ΠΎΠ΅ΡΡ, Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΠΎΡ ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
ΠΠΎ ΡΠ°ΠΉΠ»ΡΡ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½, ΡΠΎΠ΅ΡΡ Π½Π΅ ΠΎΡΠ½Π΅ΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π±Π°Π²ΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄ΡΠ»Π³ΠΎΡΡΠ°Π΅Π½.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠΎ ΠΈΠΌΠ° Π½Π°ΡΠ°Π»Π΅Π½ ΠΈ ΠΊΡΠ°Π΅Π½ ΡΠ°Ρ, Ρ.Π΅. ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅. Π Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π½Π° ΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π°: ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ»Π΅Π΄ ΡΠ°ΠΉΠ»Π°. Π’ΠΎΠ΅ΡΡ, Π½ΠΈΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π² ΡΠ°Π·ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²Π° Π»ΠΈΠ½ΠΈΡ.
Π ΠΏΡΡΠ²ΠΎΡΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΠΈΠ»Π΅Ρ, Π½ΠΈΠ΅ ΡΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ»ΡΡΠΈΠ»ΠΎΡΠΎ ΡΠ΅, ΠΊΠ°ΠΊΠ²Π° Π΅ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠΈΠ»Π΅ΡΠ°.
ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΡΡΡΠΏΠΈΡΠ΅, ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠΏΠΈ Patroni. Π’ΠΎΠΉ Π½ΠΈ ΠΊΠ°Π·Π²Π° Π² ΡΡΡ , ΡΠ΅ ΡΡΡΠ²ΡΡΡΡ Π΅ ΡΡΠ°Π½Π°Π» Π³Π»Π°Π²Π΅Π½ ΠΈ ΡΠΎΠ»ΡΡΠ° Π½Π° Π³Π»Π°Π²Π½ΠΈΡ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»Π° ΠΊΡΠΌ ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π». Π’ΡΠΊ Π΅ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π½ΠΎ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π·Π°ΡΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΡΠ°ΠΉΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ, Ρ.Π΅. ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΡΠ° Π½Π°ΡΡΡΠΏΠΈΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π°ΠΊΠ°ΡΠ°Π»ΠΈ Π³Π»Π°Π²Π½Π°ΡΠ° ΡΠΎΠ»Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ ΠΎΡ Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π» Π² Π΄ΡΡΠ³. Π Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ. ΠΠΌΠ°ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠ°ΠΉΡΡΠΎΡΡΡ ΡΠ°Π·Π±ΡΠ°, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ DCS, ΡΠΎΠ΅ΡΡ ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ. Π ΠΊΠ°Π·Π²Π°, ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ ΠΈ ΡΠΈ ΠΏΠΎΠ΄Π°Π²Π° ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ°. Π’ΠΎΠ·ΠΈ ΡΠ΅Π΄ βΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ ΡΠ΅Π±Π΅ ΡΠΈβ ΠΊΠ°Π·Π²Π° ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°.
ΠΠΊΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΠ±ΠΈΡΠΈΡΡΠ°, ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π°ΡΠΈ ΡΠ°ΠΉΠ»Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΌ ΡΠ°ΠΌΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠΈΡΠΈΠ½ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π·Π° Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΡΡΠ²Π΅ΡΠ½ΠΈΠΊΠ°.
ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Patroni, ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ΅ΡΠΊΠΈ, ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½ΠΈΡ, Ρ.Π΅. Π°Π³Π΅Π½ΡΡΡ Π½Π° Patroni Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ DCS. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° Π΅ Consul agent, ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Π½Π° ΠΏΠΎΡΡ 8500.
Π ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΠΊ Π΅, ΡΠ΅ Patroni ΠΈ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ°Π±ΠΎΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ Ρ ΠΎΡΡ. Π ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½Π° Consul Π±ΡΡ Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΡΠΈΡ Π²ΡΠ·Π΅Π». Π‘ΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½Π° Consul. Π’Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΠΎΠ±ΡΡΠ²Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ.
Π‘Π»Π΅Π΄ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π°ΠΌΠ°Π»Ρ, Π½Π°ΡΠΈΡΡ ΠΠ°ΡΡΠΎΠ½ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΡΠΏΡ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ Π°Π³Π΅Π½ΡΠΈ. ΠΠΎΡΠΌΠ°Π»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²Π΅Π½Π°. Π ΡΡΡΠΈΡΡ Pgdb-2 ΡΡΡΠ²ΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΡΠ°Π½Π° Π³Π»Π°Π²Π΅Π½. Π’ΠΎΠ΅ΡΡ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ°Π»ΡΠΊ ΡΠ»ΠΈΠΏ, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠΉΡΠΎ Π²ΡΠ·Π΅Π»ΡΡ ΡΠ΅ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ ΠΏΡΠ°Π²ΠΎΠΌΠΎΡΠΈΡΡΠ° Π½Π° ΠΊΠ°ΠΏΠΈΡΠ°Π½Π° ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ²ΠΎ Π³ΠΈ ΠΏΠΎΠ΅, ΡΠΎΠ΅ΡΡ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ Π²ΡΡΠ½Π° ΠΊΠ°ΠΊΡΠΎ ΡΠΈ Π±Π΅ΡΠ΅.
Π ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΡΠ°Π»ΡΠΈΠ²Π° ΡΡΠ΅Π²ΠΎΠ³Π° ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠΈΡΠ°, ΡΠ΅ ΠΠ°ΡΡΠΎΠ½ΠΈ Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠΈΡΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. Π’ΠΎΠ΅ΡΡ ΡΠΎΠΉ ΡΠ°Π·Π±ΡΠ°, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π° ΠΏΡΠ°Π²ΠΎΠΌΠΎΡΠΈΡΡΠ° ΡΠΈ.
Π ΡΡΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π²ΡΠ·Π½ΠΈΠΊΠ½Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½Π° Consul ΡΠ° Π½Π° ΡΡΡΠΈΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ ΠΊΠ°ΡΠΎ Π±Π°Π·ΠΈΡΠ΅. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π²ΡΡΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅: Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ Π΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΡΠΎ ΡΡΡΠΎ Π·Π°ΡΡΠ³Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul.
Π ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΆΠΈΠ²Π΅Π΅ Π·Π°Π΅Π΄Π½ΠΎ, ΠΎΡΠ΄Π΅Π»ΠΈΡ ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ Π·Π° ΠΠΎΠ½ΡΡΠ». Π Patroni Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ Consul, ΡΠΎΠ΅ΡΡ ΠΈΠΌΠ°ΡΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ Postgres cluster, ΠΎΡΠ΄Π΅Π»Π΅Π½ Consul cluster. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π΄Π° Π½ΠΎΡΠΈΡΠ΅ ΠΈ ΠΏΠ°Π·ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ°, Π·Π° Π΄Π° Π½Π΅ ΠΆΠΈΠ²Π΅Π΅ Π·Π°Π΅Π΄Π½ΠΎ.
ΠΠ°ΡΠΎ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π²ΡΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ttl, loop_wait, retry_timeout, Ρ.Π΅. ΠΎΠΏΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΆΠΈΠ²Π΅Π΅ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΎΡΠ½ΠΈ ΠΏΠΈΠΊΠΎΠ²Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. ΠΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. Π Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·Π»Π΅Π·Π΅ΠΌ ΠΈΠ·Π²ΡΠ½ ΡΠ΅Π·ΠΈ Π³ΡΠ°Π½ΠΈΡΠΈ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. Π ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π½Π°ΠΈΡΡΠΈΠ½Π° Π΄Π° Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅.
ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅, Π΅ ΠΏΡΠΎΡΡ. ΠΠ·Π΅Ρ ΠΌΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠΈΡ ΠΌΠ΅ DCS Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ°, ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΡΠΎΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΏΡΡΠ²ΠΈΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DCS.
ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ° Π² ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡΠ°. Π Patroni ΠΊΠ°Π·Π²Π°, ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°ΠΌ Ρ DCS, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°.
Π‘ΡΠ°ΡΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ ΡΡΠ°Π²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΡΡΠΊ Patroni ΡΠ°Π±ΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΡΡΡΠ±Π²Π°. Π’ΠΎΠΉ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° pg_rewind, Π·Π° Π΄Π° ΠΏΡΠ΅Π²ΡΡΡΠΈ ΠΆΡΡΠ½Π°Π»Π° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π½ΠΎΠ²ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ, Π·Π° Π΄Π° Π½Π°Π²Π°ΠΊΡΠ° Ρ Π½ΠΎΠ²ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ. Π’ΡΠΊ ΠΠ°ΡΡΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΡΡΡΠ±Π²Π°.
Π’ΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄Ρ ΠΎΠΆΠ΄Π° ΡΠ°ΠΉΠ»Π°, Ρ.Π΅. ΡΠ΅Π·ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½ΠΈ Π½Π°ΠΊΠ°ΡΠ°Π»ΠΈ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°ΠΉΠ». Π Π² ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ Π½Π° Patroni ΡΠ° Π΄ΠΎΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ°. Π’ΠΎΠΉ ΠΏΠΈΡΠ΅ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». Π Π°ΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΡΠ΅Π²ΡΡΡΠ°ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠΎΠ³Π°Π²Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΈ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΡΡΠ·ΠΎ ΡΠ΅ Π²ΡΡΡΠ°ΠΌΠ΅ Π½Π° ΡΠΎΠ²Π° ΠΌΡΡΡΠΎ, Π²ΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠ°Π½Π΅.
Π Π² Π½ΠΎΡΠΌΠ°Π»Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡ Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½. Π‘ΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ Π½Π° ΠΊΠ»ΡΡΠ°Π»ΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°. Π Π°ΠΊΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ», ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ Π½ΡΠΊΠΎΠΈ ΡΡΠ±ΠΈΡΠΈΡ, Π½Π° ΠΊΠΎΠΈΡΠΎ Patroni ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°. ΠΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠΌΠ΅ Π΄ΠΎΠ±ΡΠ΅. Π’ΡΡΡΠΈΠΌ ΠΌΡΡΡΠΎΡΠΎ, ΠΎΡΠΊΡΠ΄Π΅ΡΠΎ ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΈ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅.
Π ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π²ΡΡΡΠΈΡ ΠΌΠ΅ Π΄ΠΎ ΡΠΎΡΠΊΠ°ΡΠ°, ΠΊΡΠ΄Π΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π°ΡΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ Π±ΡΡ Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ DCS ΠΈ Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Consul, Π½ΠΈΠ΅ ΡΡΡΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Consul, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΡΠ°ΠΌ.
Π‘ΡΠ°Π²Π½ΡΠ²Π°ΠΉΠΊΠΈ Π³ΡΡΠ±ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Consul, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π½Π°ΡΠΈΡΠ΅ ΡΡΡΠ΅Π΄ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΡΡΠΌΠ½ΡΠ²Π°Ρ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul.
Π Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π΄ΡΡΠ³ΠΈ Π°Π³Π΅Π½ΡΠΈ Π½Π° Consul, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ ΡΠ°ΠΌ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΡΡΠΈΠ² Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π Π²ΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΠΎΠ½ΡΡΠ» ΡΠ΅ ΡΡΠΌΠ½ΡΠ²Π°Ρ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³. Π ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΡΠ»Π°ΡΡΠΊΡΡ Π·Π° ΡΠΈΠ»Π΅ΡΠ°.
ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅Π·ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ ΠΈΠΌΠ° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΡΠ°Π΅Π½ ΡΡΠΎΠΊ, RPC ΠΏΠ°Π΄Π½Π°, ΡΠΎΠ΅ΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΡΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ .
ΠΠ°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π΅ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠΎ Π·Π° ΠΌΠ΅Π½, ΡΡΠΎΡΡ Π½Π° ΠΏΠΎΠ΄ΠΈΡΠΌΠ°, Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ° ΡΠΎΠ²Π°. ΠΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΠ²Π°ΡΠ° ΡΠ° ΡΠ°ΠΊΠΈΠ²Π°, ΡΠ΅ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ΅ΠΌΠΎΠ½Ρ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ Π² DC ΠΈ Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ. Π ΡΠ°ΠΊΠ° ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π½ΡΠΊΠΎΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΠΏΡΠΈΠΈ.
ΠΠΌΠ° ΠΎΠΏΡΠΈΠΈ:
- ΠΠ°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π΄ΠΎΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°, Π΅ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΠΎΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡΠ΅ ΠΏΡΠ°Π·Π΅Π½ ΠΌΠ°ΡΠΈΠ². Π Π½ΠΈΠ΅ ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ»ΡΠΊΠΈΡ Π°Π³Π΅Π½Ρ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅ΠΊΠΎΠ²Π΅. Π‘ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π±ΡΡΠΈ ΠΈ Π΄Π° Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΉΠ».
- ΠΡΡΠ³ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ raft_multiplier. Π’ΠΎΠ²Π° Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΌΠΈΡ ΡΡΡΠ²ΡΡ Consul. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π½Π° 5. Π’Π°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΡΠ΅Π½ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ²Π° ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π° Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Consul. ΠΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π»ΠΈΡΠ΅ Π²ΡΡΡ Ρ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul. Π Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΡΠ·Π»ΠΈΡΠ΅ Π΄Π° ΠΎΠ±ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ-ΡΠ΅ΡΡΠΎ.
- ΠΡΡΠ³ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΡ ΠΌΠ΅, Π΅ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Consul ΡΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΌΠ° ΡΠ°ΠΊΡΠ² βΡ ΡΠ±Π°Π²β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π° ΠΠ‘ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅. ΠΠ°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ ΠΈ Ρ ΡΠ±Π°Π²Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠ½ΡΡΠ»ΡΠΊΠΈΡΠ΅ Π°Π³Π΅Π½ΡΠΈ, Ρ.Π΅. ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π°Π²Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Consul ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Ρ Π½ΠΈΡ ΠΊΠΎΠ΄. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½ΠΈ.
- ΠΡΡΠ³ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Consul. ΠΠΌΠ°ΠΌ ΠΏΡΠΈΡΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ Π΅ Π³ΠΎΠ»ΡΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ½ΠΈΠΊ Π½Π° Etcd. Π ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠΏΠΎΡΠΈΠΌ Ρ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ Etcd ΠΈΠ»ΠΈ Consul. ΠΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π° ΠΊΠΎΠ΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΡΠ³Π»Π°ΡΡΠ²Π°ΠΌΠ΅ Ρ Π½Π΅Π³ΠΎ, ΡΠ΅ Consul ΠΈΠΌΠ° Π°Π³Π΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ΅ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° Patroni Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul ΠΌΠΈΠ½Π°Π²Π° ΠΏΡΠ΅Π· ΡΠΎΠ·ΠΈ Π°Π³Π΅Π½Ρ. Π ΡΠΎΠ·ΠΈ Π°Π³Π΅Π½Ρ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΠΏΡΠ΅ΡΠΊΠ°. ΠΠΊΠΎ Π½Π΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ Ρ Π°Π³Π΅Π½ΡΠ°, Patroni Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Consul. Π ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ. ΠΡΠΌΠ° Π°Π³Π΅Π½Ρ Π² ΠΏΠ»Π°Π½Π° Etcd. Patroni ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΡ ΡΠΏΠΈΡΡΠΊ ΠΎΡ Etcd ΡΡΡΠ²ΡΡΠΈ ΠΈ Π²Π΅ΡΠ΅ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ ΡΡΡ . Π ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅, Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Etcd Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΡΠΎΠ³Π°Π²Π° Etcd Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ ΠΈΠ·Π±ΠΎΡ ΠΎΡ Consul. ΠΠΎ Π½ΠΈΠ΅, Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π²ΠΈΠ½Π°Π³ΠΈ ΡΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΅ ΠΈΠ·Π±ΡΠ°Π» ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. Π ΠΈΠΌΠ°ΠΌΠ΅ ΠΠΎΠ½ΡΡΠ» Π² ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠΈ ΡΠ°ΡΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ.
- Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠΎΡΠΊΠ° Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈΠΌ ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π°ΡΠ°, ΡΠ΅ Π½Π°ΡΠΈΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΎΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΊΡΠ°ΡΠΊΠΈ ΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΈΠ·ΠΏΠ°Π΄Π½Π°Ρ ΠΈΠ·Π²ΡΠ½ ΠΎΠ±Ρ Π²Π°ΡΠ° Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π°Π³ΡΠ΅ΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Patroni Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°, Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠΈΡΠ»Ρ, ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Patroni, ΡΠ° Π·Π°ΠΏΠΎΠ·Π½Π°ΡΠΈ Ρ ΡΠ°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°.
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π Π½Π° ΠΏΡΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄ ΡΠ°Π·ΠΈ ΠΊΠ°ΡΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½ΠΎΡΠΌΠ°Π»Π½Π°. ΠΠΌΠ°ΠΌΠ΅ ΠΌΠ°ΡΡΠ΅Ρ, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Π½ΡΠΌΠ° Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°. ΠΠΎ ΡΠ°Π·ΠΈ ΠΊΠ°ΡΡΠΈΠ½Π° Π΅ Π½ΠΎΡΠΌΠ°Π»Π½Π° ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΡΡΠΈ Π²ΡΠ·Π΅Π»Π°, Π° Π½Π΅ Π΄Π²Π°.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΈΠΌΠ°ΡΠ΅ Π°Π²ΡΠΎΡΠ°ΠΉΠ». Π ΡΠ»Π΅Π΄ ΡΠΎΠ·ΠΈ Π°Π²ΡΠΎΡΠ°ΠΉΠ» Π½Π°ΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈΠ·ΡΠ΅Π·Π½Π°. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π·Π°ΡΠΎ Π΅ ΠΈΠ·ΡΠ΅Π·Π½Π°Π»Π° ΠΈ Π΄Π° Ρ Π²ΡΡΠ½Π΅ΠΌ, Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ. Π Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΎΡΠΈΠ²Π°ΠΌΠ΅ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π·Π°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΡΡΠ°Π½Π° ΠΌΠ°ΠΉΡΡΠΎΡ. Π’ΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄.
Π ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΏΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠ°Π΄Π½Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΡΠ²Π°ΡΡΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Patroni ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π° Π΅ΡΠ°ΠΏ pg_rewind. ΠΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π²ΡΡΡΠΈΡΠ΅ Π½Π°Π·Π°Π΄ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π΄Π° ΠΏΠΎΠΈΡΠΊΠ°ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΎΡ Π³Π»Π°Π²Π½ΠΈΡ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, Π·Π° Π΄Π° Π½Π°Π²Π°ΠΊΡΠ°ΡΠ΅ Π³Π»Π°Π²Π½ΠΈΡ.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½ΡΠΌΠ°ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΡΠΏΠΈΡΠ°ΠΌΠ΅ Postgres Ρ Π³ΡΠ΅ΡΠΊΠ°. Π ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π΅ Π΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π·Π°ΡΠΎ Π½Π΅ Π΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ Π·Π°ΡΠΎ Π½ΡΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠΈΠ²Π°ΠΌΠ΅ ΠΏΡΠΈ Π½ΠΎΠ²ΠΈΡ Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° Π² Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅. ΠΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ pg_rewind Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ, Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ°. Π Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΡΠ°ΡΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΡΠΎ Π±ΡΡ Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π½ΠΎΠ²ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ΅ Π²Π΅ΡΠ΅ Π±ΡΡ Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ, ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π°.
Π‘ΡΠ°Π²Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ° ΡΠ΅ ΡΠ»ΡΡΠΈΠ»ΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ±ΠΈΡΠΈΡ. Π ΡΠ°ΠΌ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π΅ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ 150 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΡΠΎΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠΎΡΠΊΠ° Π·Π°Π²ΡΡΡΠ΅Π½Π° Π·Π° 369 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ, WAL ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π±ΡΡ Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ. Π Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π² 517, ΡΠ»Π΅Π΄ 150 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π·Π°ΠΏΠΎΡΠ½Π° ΠΏΡΠ΅Π½Π°Π²ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°. Π’ΠΎΠ΅ΡΡ, Π±ΡΠΊΠ²Π°Π»Π½ΠΎ 150 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π½ΠΈ Π±ΡΡ Π° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ, Π·Π° Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ ΠΈ Π΄Π° ΠΏΠ΅ΡΠ΅Π»ΠΈ.
ΠΠ°ΠΊΠ²ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΈΡΠ΅?
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΡΠ»ΠΎΡΠΎΠ²Π΅ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ. ΠΠΈΡΠ»Π΅Ρ ΠΌΠ΅, ΡΠ΅ Π΅ Π΄ΠΎΠ±ΡΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½Π° ΠΏΡΡΠ²ΠΈΡ Π΅ΡΠ°ΠΏ ΠΎΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ ΡΠ»ΠΎΡΠΎΠ²Π΅ΡΠ΅. Π‘ΡΡΡΠ²Π°ΡΠ΅ Π½ΠΈ ΡΠ΅, ΡΠ΅ Π°ΠΊΠΎ ΡΠ»ΠΎΡΠΎΠ²Π΅ΡΠ΅ Π½Π°ΡΡΡΠΏΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ WAL ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΡΠ½Π΅ΠΌ ΠΌΠ°ΡΡΠ΅ΡΠ°. Π’ΠΎΠΉ ΡΠ΅ ΠΏΠ°Π΄Π½Π΅. Π‘ΡΡΠ°Π΄Π°Ρ ΠΌΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅Π· ΡΠ»ΠΎΡΠΎΠ²Π΅. Π ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠ»ΠΎΡΠΎΠ²Π΅, Π²ΡΡΠ½Π°Ρ ΠΌΠ΅ Π³ΠΈ.
ΠΠΎ ΡΡΠΊ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ Π³Π»Π°Π²Π½ΠΈΡΡ ΠΎΡΠΈΠ΄Π΅ Π΄ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ°, ΡΠΎΠΉ ΠΈΠ·ΡΡΠΈΠ²Π° ΡΠ»ΠΎΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π° WAL ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ ΡΡΡ ΡΠ»ΠΎΡΠΎΠ²Π΅ΡΠ΅. Π Π·Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° wal_keep_segments. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 8 ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°. ΠΠ΄ΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π³ΠΎ Π½Π° 1 ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅. Π Π΄Π°ΡΠΈΡ ΠΌΠ΅ 000 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° Π·Π° wal_keep_segments. Π’ΠΎΠ΅ΡΡ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅Π·Π΅ΡΠ² ΠΎΡ 16 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΈ ΠΆΡΡΠ½Π°Π»ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ.
Π ΠΏΠ»ΡΡ - ΡΠΎΠΉ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ°. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅. Π Π½ΠΈΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ. Π’ΡΡΠ±Π²Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ. Π ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΡΠ»ΠΎΡΡΡ Π·Π° ΡΠ°Π·ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΡΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°. Π Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ°Π»ΡΠΊ wal_keep_segments, ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΈ Π΄ΡΠ»Π³ΠΎ ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ. Π©Π΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΡΡ ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ ΡΠΏΡΡΠ»Π°, Π½ΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ° Π½Π° Π³Π»Π°Π²Π½ΠΈΡ. Π ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΡΡΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅. ΠΠ°ΡΠΎΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ Π³ΠΎΠ»ΡΠΌ Π·Π°ΠΏΠ°Ρ ΠΎΡ ΡΠΏΠΈΡΠ°Π½ΠΈΡ.
Π Π°Π·ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° Π±Π°Π·Π°. ΠΠ΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² Ρ ΠΎΠ΄.
ΠΠΌΠ°ΡΠ΅ ΠΏΠΈΠ»Π°. ΠΠ»ΡΠ·ΠΎΡ ΠΌΠ΅ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ ΠΌΠ΅ - Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄, ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ΅ ΡΠ° ΡΠΈ Π½Π° ΠΌΡΡΡΠΎΡΠΎ, Π½ΡΠΌΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ Π»Π°Π³. ΠΡΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄.
ΠΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π½ΠΈΠ΅ Π³ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ, Π½ΠΎ Π½Π΅ Π³ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ Ρ ΡΡΡ .
Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ pg_rewind Π³ΠΈ Π΅ ΠΏΡΠΎΠΏΡΡΠ½Π°Π». ΠΠ΅Π΄Π½Π°Π³Π° ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅ ΡΠΎΠ²Π°, Π½ΠΎ ΠΎΡΠΈΠ΄ΠΎΡ ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π°.
Π ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΊΠΎΠ³Π° ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ, ΠΊΠΎΠΉ Π΅ ΡΡΠ°Π½Π°Π» Π³Π»Π°Π²Π½ΠΈΡΡ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠΉ Π΅ Π±ΠΈΠ» ΡΡΠ°ΡΠΈΡΡ Π³Π»Π°Π²Π΅Π½ ΠΈ ΠΊΠΎΠ³Π° Π΅ ΠΈΡΠΊΠ°Π» Π΄Π° ΡΡΠ°Π½Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Ρ.Π΅. ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·Π³ΡΠ±Π΅Π½.
Π‘ΡΠ°ΡΠΈΡΡ Π½ΠΈ ΠΌΠ°ΠΉΡΡΠΎΡ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°. Π Patroni Π±Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ Π² autorun. Π‘ΡΠ°ΡΡΠΈΡΠ° Patroni. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ°ΡΡΠΈΡΠ° Postgres. ΠΠΎ-ΡΠΎΡΠ½ΠΎ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° Postgres ΠΈ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Patroni ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠ° pg_rewind. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΡΠΎΠΉ ΠΈΠ·ΡΡΠΈ ΡΠ°ΡΡ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΈΠ·ΡΠ΅Π³Π»ΠΈ Π½ΠΎΠ²ΠΈ ΠΈ ΡΠ΅ ΡΠ²ΡΡΠ·Π°. Π’ΡΠΊ Patroni ΡΠ°Π±ΠΎΡΠΈ ΡΠΌΠ½ΠΎ, ΡΠΎΠ΅ΡΡ, ΠΊΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°ΡΠ΅. ΠΠ»ΡΡΡΠ΅ΡΡΡ Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½. ΠΠΌΠ°Ρ ΠΌΠ΅ 3 Π²ΡΠ·Π΅Π»Π°, ΡΠ»Π΅Π΄ ΡΠ°ΠΉΠ»Π° 3 Π²ΡΠ·Π΅Π»Π° - Π²ΡΠΈΡΠΊΠΎ Π΅ Π³ΠΎΡΠΈΠ½ΠΎ.
ΠΠ°Π³ΡΠ±ΠΈΡ ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ Π΄Π°Π½Π½ΠΈ. Π ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΊΠΎ ΡΠΌΠ΅ Π·Π°Π³ΡΠ±ΠΈΠ»ΠΈ. Π’ΡΡΡΠΈΠΌ ΡΠΎΡΠ½ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΡΠ΅Π½Π°Π²ΠΈΠ²Π°Π½Π΅. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ΅ΡΠΈΠΌ Π² ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΠΏΠΈΡΠΈ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°. ΠΡΠ΅Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°, Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠΎ ΡΠ°ΠΌ ΠΈ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ.
Π’ΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ ΡΠΏΡΡΠ» ΡΡΠ°ΡΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ. Π ΡΠ»ΡΡΠ°Ρ ΡΠΎΠ²Π° Π΅ ΠΌΠ°ΡΠΊΠ°ΡΠ°. Π ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π²ΡΠΎΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ°, ΡΠΎΠ΅ΡΡ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ, Ρ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ Π½ΠΎΠ²ΠΈΡ.
ΠΠ·ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡ pg_wal_lsn_diff ΠΈ ΡΡΠ°Π²Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ΅Π·ΠΈ Π΄Π²Π΅ ΠΌΠ°ΡΠΊΠΈ. Π Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ 17 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°. ΠΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΠΎ, Π²ΡΠ΅ΠΊΠΈ ΡΠ΅ΡΠ°Π²Π° Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ. ΠΠ°ΡΠΎΡΠΎ Π·Π° Π½ΡΠΊΠΎΠΉ 17 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, Π·Π° Π½ΡΠΊΠΎΠΉ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ. Π’ΡΠΊ Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΏΠΎΡΠ΅Π΄ Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° Π±ΠΈΠ·Π½Π΅ΡΠ°.
ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ?
ΠΡΡΠ²ΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈΠΌ ΡΠ°ΠΌΠΈ - Π²ΠΈΠ½Π°Π³ΠΈ Π»ΠΈ ΡΡΡΠ±Π²Π° Patroni Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ»Π΅Π΄ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°? Π§Π΅ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΠΌ ΠΏΡΠΈ ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΠΉΡΡΠΎΡ, Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π΄ΠΎΠΊΡΠ΄Π΅ Π΅ ΡΡΠΈΠ³Π½Π°Π». ΠΠΎΠΆΠ΅ Π±ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π²ΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° ΡΠ°ΠΌ. Π Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, Π·Π° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΠΌ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ.
Π Π΅Π΄Π²Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈΠΌ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Ρ Π²ΡΡΠ»ΠΈΠΌ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ, ΡΠ²ΡΡΠ·Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π» ΠΊΠ°ΡΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΊΡΠΌ Π½Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ "maximum_lag_on_failover". ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π°ΠΊΠΎ Π½Π΅ ΠΌΠ΅ Π»ΡΠΆΠ΅ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΎΡ 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠΉ? ΠΠΊΠΎ Π½Π°ΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΈΠ·ΠΎΡΡΠ°Π²Π° Ρ 1 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ Π»Π°Π³, ΡΠΎΠ³Π°Π²Π° ΡΠ°Π·ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π΅ ΡΡΠ°ΡΡΠ²Π° Π² ΠΈΠ·Π±ΠΎΡΠΈΡΠ΅. Π Π°ΠΊΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΈΠΌΠ° ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ, Patroni ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠΎΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΈΠ·ΠΎΡΡΠ°Π²Π°Ρ. ΠΠΊΠΎ ΠΈΠ·ΠΎΡΡΠ°Π²Π°Ρ Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°Π½Π°Ρ Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ° Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ Π·Π°Π³ΡΠ±Π° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ.
ΠΠΎ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠΎΠ²Π°, ΡΠ΅ Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Patroni ΠΈ DCS ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΠΈΡΠ»Ρ, ΡΠ΅ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΅ ttl ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π² DCS, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΄Π° Π½ΡΠΌΠ° Π·Π°Π±Π°Π²ΡΠ½Π΅, Ρ.Π΅. ΡΠΎΠ²Π° Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΎΡΡΠ°Π·ΡΠ²Π° ΡΠ΅Π°Π»Π½Π°ΡΠ° ΠΊΠ°ΡΡΠΈΠ½Π°. Π Π½Π΅ ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΡΡΡ Ρ Π½Π΅Π³ΠΎ.
Π ΡΠΈΡΠΊΡΡ ΠΎΡ Π·Π°Π³ΡΠ±Π° Π²ΠΈΠ½Π°Π³ΠΈ ΠΎΡΡΠ°Π²Π°. Π Π² Π½Π°ΠΉ-Π»ΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π΅Π΄Π½Π° ΡΠΎΡΠΌΡΠ»Π°, Π° Π² ΡΡΠ΅Π΄Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π΄ΡΡΠ³Π° ΡΠΎΡΠΌΡΠ»Π°. Π’ΠΎΠ΅ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Patroni ΠΈ ΠΎΡΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·ΡΠΈΡΠ°ΠΌΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈ ΠΈ Π³ΡΡΠ±ΠΎ Π΄Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ.
Π ΠΈΠΌΠ° Π΄ΠΎΠ±ΡΠΈ Π½ΠΎΠ²ΠΈΠ½ΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ Π΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠ», ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½ΡΠΊΠΎΠΈ ΡΠΎΠ½ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. Π’ΠΎΠ΅ΡΡ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Π°Π²ΡΠΎΠ²Π°ΠΊΡΡΠΌ, ΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠ° Π΄Π°Π½Π½ΠΈΡΠ΅, Π·Π°ΠΏΠΈΡΠ° Π³ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅. Π Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π½Π΅ΠΌ ΠΈ Π·Π°Π³ΡΠ±ΠΈΠΌ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΡΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠΎΠ²Π°.
ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π°ΠΊΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ maximum_lag_on_failover ΠΈ Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π» ΡΠ°ΠΉΠ» ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ ΡΠ°ΠΉΠ». Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Π° Π΄Π° ΡΡΠ°ΡΡΠ²Π° Π² ΠΈΠ·Π±ΠΎΡΠΈΡΠ΅. Π ΡΡ ΠΎΡΠΊΠ°Π·Π²Π° Π΄Π° ΡΡΠ°ΡΡΠ²Π° Π² Π½Π°Π΄ΠΏΡΠ΅Π²Π°ΡΠ°ΡΠ° Π·Π° Π»ΠΈΠ΄Π΅Ρ. Π ΡΠ°ΠΊΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π±ΡΠ°Π½ Π½ΠΎΠ² ΠΌΠ°ΡΡΠ΅Ρ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΌΡΡΠΊΠ° ΡΡΠ΅ΡΡ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ.
Π’ΡΠΊ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π΅ΠΊΠΈΠΏ, ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΠΈΡΠ°, ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Postgres. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ°ΠΌΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΠ΅Π· SSH. Π Π°Π²ΡΠΎΡΠ°ΠΉΠ»ΡΡ ΡΡΡΠΎ Π½Π΅ ΡΡΠ°Π²Π°.
Π’ΠΎΠ·ΠΈ Ρ ΠΎΡΡ Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ», Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΡΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ°ΠΉΠ», ΠΊΠ°ΠΊΡΠΎ ΡΠ΅Π³Π° ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ. Π ΡΠ»Π΅Π΄ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π²Π΅ΡΠ΅ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ.
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π½Π°Π΅Ρ ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅, ΡΠΎΠ΅ΡΡ Π²Π΅ΡΠ΅ Π·Π½Π°Π΅Ρ ΠΌΠ΅ ΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΡΠ΄Π΅ Π΄Π° ΠΊΠΎΠΏΠ°Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΡΡΡΠΈΠΌ.
ΠΠ»ΡΠ·ΠΎΡ ΠΌΠ΅ Π² ΠΆΡΡΠ½Π°Π»Π° Π½Π° postgres ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΡΠ°ΠΌ. ΠΠΈΠ΄ΡΡ ΠΌΠ΅ ΠΊΠΎΠΌΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ ΡΠ°ΠΌ Π΅Π΄Π½Π°, Π΄Π²Π΅, ΡΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ Π΅ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ. ΠΠΈΠ΄ΡΡ ΠΌΠ΅, ΡΠ΅ Π½Π°ΡΠΈΡΡ Π°Π²ΡΠΎΠ²Π°ΠΊΡΡΠΌ ΡΡΠ°ΡΡΠΈΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½ΠΎ ΠΈ ΡΡΡΠ°Π½Π½ΠΎ. Π Π²ΠΈΠ΄ΡΡ ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π΄ΠΈΡΠΊΠ°. Π’ΠΎΠ΅ΡΡ, ΡΠΎΠ²Π° ΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅.
Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ dmesg (Π΄Π½Π΅Π²Π½ΠΈΠΊ Π½Π° ΡΠ΄ΡΠΎΡΠΎ). Π Π²ΠΈΠ΄ΡΡ ΠΌΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅. ΠΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π΅ΡΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ Raid. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ /proc/mdstat ΠΈ Π²ΠΈΠ΄ΡΡ ΠΌΠ΅, ΡΠ΅ Π½ΠΈ Π»ΠΈΠΏΡΠ²Π° Π΅Π΄Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π’ΠΎΠ΅ΡΡ ΠΈΠΌΠ° Raid ΠΎΡ 8 Π΄ΠΈΡΠΊΠ°, Π»ΠΈΠΏΡΠ²Π° Π½ΠΈ Π΅Π΄ΠΈΠ½. ΠΠΊΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΡΠ»Π°ΠΉΠ΄Π°, ΡΠΎΠ³Π°Π²Π° Π² ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ Π½ΡΠΌΠ°ΠΌΠ΅ sde ΡΠ°ΠΌ. ΠΡΠΈ Π½Π°Ρ, ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, Π΄ΠΈΡΠΊΡΡ Π΅ ΠΎΡΠΏΠ°Π΄Π½Π°Π». Π’ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΄ΠΈΡΠΊΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΡΡΠΎ ΠΈΠ·ΠΏΠΈΡΠ°Ρ Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π° Postgres.
Π Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Patroni Π½ΡΠΌΠ° Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, Π·Π°ΡΠΎΡΠΎ Patroni Π½ΡΠΌΠ° Π·Π°Π΄Π°ΡΠ°ΡΠ° Π΄Π° ΡΠ»Π΅Π΄ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ°. Π Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π· Π²ΡΠ½ΡΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅. ΠΡΡΠ·ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° Π΄ΠΈΡΠΊ ΠΊΡΠΌ Π²ΡΠ½ΡΠ΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³.
Π ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΊΠ°Π²Π° ΠΌΠΈΡΡΠ» - ΠΌΠΎΠΆΠ΅ Π»ΠΈ ΡΠ΅Ρ ΡΠΎΠ²ΠΊΠ°ΡΠ° ΠΈΠ»ΠΈ ΡΠΎΡΡΡΠ΅ΡΡΡ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅? ΠΠΈΡΠ»Π΅Ρ ΠΌΠ΅, ΡΠ΅ ΡΠΎΠΉ Π΅Π΄Π²Π° Π»ΠΈ ΡΠ΅ΡΠ΅ Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ, Π·Π°ΡΠΎΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Patroni ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ DCS ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ Π½Π΅ Π²ΠΈΠ΄Ρ Π½ΠΈΠΊΠ°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’ΠΎΠ΅ΡΡ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° DCS ΠΈ Patroni Π²ΡΠΈΡΠΊΠΎ Π±Π΅ΡΠ΅ Π½Π°ΡΠ΅Π΄ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π²ΡΡΡΠ½ΠΎΡΡ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΄ΠΈΡΠΊΠ°, ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
ΠΠΎ ΠΌΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΡΡΡΠ°Π½Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠΌ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π» ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»ΠΈ, ΠΈΠ·Π±ΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈ Π³ΠΎ Π½Π°ΡΠ΅ΠΊΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠ΅Π½ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π±Π΅ΡΠ΅, ΡΠ΅ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ Π½ΠΎΡΠΌΠ°Π»Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Ρ.Π΅. Patroni Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°, Patroni ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π» ΠΏΡΠΈΡΡΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°. Π‘Π΅Π³Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π·Π°ΡΠΎ. Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΠΏΠ°Π·ΠΈΡ ΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡΠ½Π° Π²ΡΠΈΡΠΊΠΎ? ΠΠ°ΠΏΠΎΡΠ½Π°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΡΠΏΠΈΡΠ°ΡΠΊΠΈ. ΠΠΌΠ°Ρ ΠΌΠ΅ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Π°, Π΄Π²Π΅.
ΠΠΌΠ°ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅, Ρ.Π΅. ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π±ΡΡ Π° ΡΠ°Π·ΠΊΡΡΠ°Π½ΠΈ.
ΠΠΌΠ°ΡΠ΅ Π·Π°ΠΏΡΡΠ²Π°Π½ΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΠ΅ΠΆΠ΅ΡΡ.
Π ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ²Π°.
Π Π½Π°ΠΉ-ΠΌΠΈΡΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎΡΠΎ Π½Π΅ΡΠΎ Π·Π° ΠΌΠ΅Π½ Π΅ ΠΏΡΠΈΡΡΠΈΠ³Π½Π°Π»Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π·Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅. Postgres ΠΈΠΌΠ° ΡΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅:
- ΠΡΠ°ΡΠΈΠ²ΠΎ Π΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π΄Π° ΠΏΡΠ΅ΠΊΡΡΠ½Π°Ρ Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΡΠ°ΠΌΠΈ.
- ΠΠΌΠ° Π±ΡΡΠ·ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΊΡΡΠ½Π°Ρ Π²ΡΡΠ·ΠΊΠ°ΡΠ°, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ.
- Π Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ immediate Π΄ΠΎΡΠΈ Π½Π΅ ΠΊΠ°Π·Π²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ°Ρ, Π° ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° RST ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ (TCP ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π½ΡΠΌΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π° Ρ Π²Π°Π½Π΅).
ΠΠΎΠΉ ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΡΠΎΠ·ΠΈ ΡΠΈΠ³Π½Π°Π»? Π€ΠΎΠ½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° Postgres Π½Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΠ³Π½Π°Π»ΠΈ Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³, Ρ.Π΅. ΡΠΎΠ²Π° Π΅ kill-9. Π’Π΅ Π½Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΡΠ°ΠΊΠΈΠ²Π° Π½Π΅ΡΠ° Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³, ΡΠ΅ ΡΠ΅Π°Π³ΠΈΡΠ°Ρ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° Π½Π΅ΡΠ°, Ρ.Π΅. ΡΠΎΠ²Π° Π΅ ΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Postgres. ΠΠΎΠΉ Π³ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ, Π½Π΅ Π·Π½Π°ΠΌ.
ΠΠΎΠ³Π»Π΅Π΄Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βΠΏΠΎΡΠ»Π΅Π΄Π½Π°β ΠΈ Π²ΠΈΠ΄ΡΡ Π΅Π΄ΠΈΠ½ ΡΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠΎ Π²Π»Π΅Π·Π΅ Π² ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΡΡ Ρ Π½Π°Ρ, Π½ΠΎ Π±ΡΡ ΡΠ²ΡΡΠ΄Π΅ ΡΡΠ°ΠΌΠ΅ΠΆΠ»ΠΈΠ² Π΄Π° Π·Π°Π΄Π°ΠΌ Π²ΡΠΏΡΠΎΡ. ΠΠΎΠΆΠ΅ Π±ΠΈ Π±Π΅ΡΠ΅ ΡΠ±ΠΈΠΉΡΡΠ²Π΅Π½ΠΎ -9. ΠΠΈΡ Π²ΠΈΠ΄ΡΠ» kill -9 Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π°ΡΠΎΡΠΎ Postgres ΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ° kill -9, Π½ΠΎ Π½Π΅ Π³ΠΎ Π²ΠΈΠ΄ΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠΎΠ³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ, Π²ΠΈΠ΄ΡΡ , ΡΠ΅ Patroni Π½Π΅ ΠΏΠΈΡΠ΅ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° Π΄ΠΎΡΡΠ° Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ - 54 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. Π Π°ΠΊΠΎ ΡΡΠ°Π²Π½ΠΈΠΌ Π΄Π²Π΅ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°ΡΠΊΠΈ, Π½ΡΠΌΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° ΠΎΠΊΠΎΠ»ΠΎ 54 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
Π ΠΏΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π°Π²ΡΠΎΡΠ°ΠΉΠ». Patroni ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ²ΡΡΡΠΈ ΡΡΡΠ°Ρ ΠΎΡΠ½Π° ΡΠ°Π±ΠΎΡΠ°. Π‘ΡΠ°ΡΠΈΡΡ Π½ΠΈ Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ Π½Π΅ Π±Π΅ΡΠ΅ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π΅ΡΠΎ ΠΌΡ ΡΠ΅ ΡΠ»ΡΡΠΈ. Π Π·Π°ΠΏΠΎΡΠ½Π° ΠΈΠ·Π±ΠΎΡΡΡ Π½Π° Π½ΠΎΠ² Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ. Π’ΡΠΊ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π΄ΠΎΠ±ΡΠ΅. ΠΠ°ΡΠΈΡΡ pgsql01 ΡΡΠ°Π½Π° Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΠ΄Π΅Ρ.
ΠΠΌΠ°ΠΌΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΡΡΠ°Π½Π°Π»Π° ΠΌΠ°ΠΉΡΡΠΎΡ. Π ΠΈΠΌΠ° Π²ΡΠΎΡΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡ. Π ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°. Π’Ρ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΠΏΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°. ΠΠΎΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ, ΡΡ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ recovery.conf, Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° Postgres ΠΈ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π½ΠΎΠ²ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΏΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°, Π½ΠΎ Π½Π΅ ΡΡΠΏΡΠ²Π°.
Π ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΎΠΏΠΈΡΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΠΈΡ Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ ΠΏΡΠΈΡΡΠΈΠ³Π° ΡΠΈΠ³Π½Π°Π» Π·Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅. ΠΠ°ΡΡΠ΅ΡΡΡ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°. Π ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ ΡΠΏΠΈΡΠ°, Π·Π°ΡΠΎΡΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ°ΠΉΡΡΠΎΡ ΠΎΡΠΈΠ²Π° Π² ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. Π’ΠΎΠ΅ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ, Π·Π°ΡΠΎΡΠΎ Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅.
Π Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΈ, Π½ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ°.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΡΠ°Ρ Π³Π»Π°Π²Π΅Π½ Π°Π΄ΡΠ΅Ρ Π² recovery.conf. Π ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π½ΠΎΠ² ΠΌΠ°ΡΡΠ΅Ρ, Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ ΡΡΡ ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ.
ΠΠΎΠ³Π°ΡΠΎ Patroni ΡΡΠ°ΡΡΠΈΡΠ° Π½Π° Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Π²ΡΠ·Π΅Π»ΡΡ ΡΡΠ°ΡΡΠΈΡΠ°, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°. Π ΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ Π»Π°Π³, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ. Π’ΠΎΠ΅ΡΡ ΠΈ ΡΡΠΈΡΠ΅ Π²ΡΠ·Π΅Π»Π° Π±ΡΡ Π° Π½Π° ΠΌΡΡΡΠΎΡΠΎ ΡΠΈ, Π½ΠΎ Π²ΡΠΎΡΠΈΡΡ Π²ΡΠ·Π΅Π» ΠΈΠ·ΠΎΡΡΠ°Π²Π°ΡΠ΅.
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅, Π·Π°ΡΠΎΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. Π ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π³Π»Π°Π²Π½ΠΈΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π² recovery.conf, ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ Π½ΠΈ Π²ΡΠ·Π΅Π».
Π ΡΡΠΊ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π³ΡΠ΅ΡΠΊΠ°. Π’ΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π΄ΠΎΠΉΠ΄Π° ΠΈ Π΄Π° Π²ΠΈΠ΄Ρ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° Π² recovery.conf, Π·Π° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΠΌ Ρ ΠΈΠΏΠΎΡΠ΅Π·Π°ΡΠ° ΡΠΈ, ΡΠ΅ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ Ρ Π³ΡΠ΅ΡΠ½ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ. ΠΠΎ ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΎΡΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ Ρ ΡΠΎΠ²Π° ΠΈ Π½Π΅ ΠΌΠΈ Ρ ΡΡΠΌΠ½Π°, ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΡΡ , ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΈ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ, ΡΠΎΠ΅ΡΡ Π½ΡΠΊΠ°ΠΊ ΡΠΈ ΡΠ°Π±ΠΎΡΠΈΡ Π½Π΅Π±ΡΠ΅ΠΆΠ½ΠΎ. Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΌΠΎΡΡ Π΄ΠΆΠΎΠΉΠ½Ρ.
Π‘Π»Π΅Π΄ 30 ΠΌΠΈΠ½ΡΡΠΈ Π²Π΅ΡΠ΅ Π΄ΠΎΠΉΠ΄Π΅ Π°Π΄ΠΌΠΈΠ½ΡΡ, Ρ.Π΅. ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ Patroni Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ°. ΠΠ΅ΡΠ΅ Π³ΠΎ ΡΠ»ΠΎΠΆΠΈΡ ΠΊΡΠ°ΠΉ, ΠΌΠΈΡΠ»Π΅Ρ ΡΠΈ, ΡΠ΅ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ»Π½Ρ ΠΎΡΠ½ΠΎΠ²ΠΎ. Π ΡΠΈ ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡ - ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌ Patroni, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π½Π΅ΡΠΎ Π΄ΠΎΠ±ΡΠΎ. ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°. Π Π±Π°Π·Π°ΡΠ° Π΄ΠΎΡΠΈ ΠΎΡΠ²ΠΎΡΠΈ, Π±Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Π° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΡΠ·ΠΊΠΈ.
Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π΅ Π·Π°ΠΏΠΎΡΠ½Π°Π»Π°. ΠΠΎ ΠΌΠΈΠ½ΡΡΠ° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΡ ΠΏΠ°Π΄Π½Π° Ρ Π³ΡΠ΅ΡΠΊΠ°, ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° Π½Π΅Ρ.
ΠΠΈΡΠ»Π΅Ρ Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌ ΠΎΡΠ½ΠΎΠ²ΠΎ. Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ Patroni ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈ Π½Π΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ Postgres, Π½ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ Patroni Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π°ΡΠ°, ΡΠ΅ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π·Π°ΠΏΠΎΡΠ½Π° ΠΎΡΠ½ΠΎΠ²ΠΎ, Π½ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ Π±ΡΡ Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ, Π½Π΅ Π±ΡΡ Π° ΡΡΡΠΈΡΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΎΠΏΠΈΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠΏΡΡ. Π ΠΏΠΎΡΠ»Π°Π½ΠΈΠ΅ΡΠΎ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ. Π Π½Π΅ ΠΌΠΈ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎ.
Π ΡΠΎΠ³Π°Π²Π° ΠΌΠΈ Ρ ΡΡΠΌΠ²Π° - ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠ°Π½Π΅, Π°ΠΊΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌ Postgres, Π² ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΡΠ°Π²Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ, Π·Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΡ ΡΠΎΡΠΊΠ°ΡΠ° Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π½Π°ΠΏΡΠ΅Π΄, ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΎΡ Π΄ΡΡΠ³ ΠΌΠΎΠΌΠ΅Π½Ρ? ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ Π·Π°ΠΏΠ°ΡΠΈ ΠΎΡ WAL.
Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°Ρ Patroni, Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΡΠΎΡΠΊΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΈΡ, Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΎΡΠΊΠΈ Π·Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ. Π ΡΠΎΠ²Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°. ΠΡΠ»Π³ΠΎ ΠΌΠΈΡΠ»ΠΈΡ Π·Π°ΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ. Π ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°. Π ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π²Π΅ΡΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ ΡΠ°Π·ΠΊΡΡΠ°Π½Π°.
Π’Π°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΌΠ΅Π½ Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΠΎ-ΠΌΠΈΡΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈΡΠ΅, Π½Π°Π΄ ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ΅ ΡΠΈ Π»ΡΡΠ°ΠΌ Π³Π»Π°Π²Π°ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΡΠ°ΠΌ.
ΠΠ°ΠΊΠ²ΠΈ ΡΠ° ΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΡΠΊ? Patroni ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π΅ 100% Π³Π°ΡΠ°Π½ΡΠΈΡ, ΡΠ΅ ΠΏΡΠΈ Π½Π°Ρ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄. Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π² ΠΏΠΎΠ»ΡΡΠ°Π±ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΠ°ΠΊΠ°Π²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΠΈΠΌΠ° ΡΡΠ°ΡΠΈ Π΄Π°Π½Π½ΠΈ.
Π ΡΠ»Π΅Π΄ ΡΠ°ΠΉΠ»Π° Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ Π΄Π°Π»ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΠΎΠ΅ΡΡ ΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ Π±ΡΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π½ΡΠΌΠ° Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°.
Π Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Ρ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ. ΠΠΏΠΈΡΠ°Ρ ΡΠ΅ Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΠΌ Π² Π΄Π²Π° ΡΠ»Π°ΠΉΠ΄Π°. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² Π΄Π²Π° ΡΠ»Π°ΠΉΠ΄Π° ΠΈ ΡΠ°ΠΌΠΎ ΡΠ°Π·ΠΊΠ°Π·Π°Π½ΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Patroni, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠ³Π° Π΅ Π½Π°ΡΡΡΠΏΠΈΠ»ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π°ΡΠΎΡΠΎ Π°ΠΊΠΎ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΠ΅ ΡΡΠ΅ ΠΈΠΌΠ°Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½ΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π°Π΄ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π ΡΠΎΠ²Π° Π΅ Π»ΠΎΡΠΎ.
Π‘Π»Π΅Π΄ Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ» Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° ΡΡΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ, ΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π°ΠΊΡΡΠ°Π»Π΅Π½ Π±ΡΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π½ΡΠΌΠ° Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, Π½ΡΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΡΠΎΡΠ½ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Π½Π΅, Ρ Patroni, ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DCS.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Patroni Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π½ΠΎ ΡΠΎΠ²Π° Π½ΡΠΌΠ° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π΄ΠΎ ΠΆΠ΅Π»Π°Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. Π Π°ΠΊΠΎ Π½Π΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π·Π° ΡΠΎΠ²Π°, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
Π ΠΠ°ΡΡΠΎΠ½ΠΈ Π½Π΅ Π΅ ΡΡΠ΅Π±ΡΡΠ΅Π½ ΠΊΡΡΡΡΠΌ. ΠΡΠ΅ ΠΎΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ Postgres, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΈ ΠΊΠ°ΠΊ Patroni ΡΠ°Π±ΠΎΡΠΈ Ρ Postgres ΠΈ ΠΊΠ°ΠΊ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π»ΠΈΡΠ΅. Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΡΡΠ΅ΡΠ΅ ΡΠΈ.
ΠΠ°ΠΊ Π΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊΡΠΌ Π²ΡΠΏΡΠΎΡΠ° Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΠ·Π°ΡΠ°? Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»ΡΡΠΈ, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ Π½ΠΈΠΊΠΎΠΉ Π½ΡΠΌΠ° ELK ΡΡΠ΅ΠΊ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΎΡΡΠΈΡΠ°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, ΠΊΠ°ΡΠΎ ΠΎΡΠ²ΠΎΡΠΈΠΌ 6 ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ ΠΈ 2 ΡΠ°Π·Π΄Π΅Π»Π°. Π Π΅Π΄ΠΈΠ½ ΡΠ°Π·Π΄Π΅Π» ΡΠΎΠ²Π° ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Patroni Π·Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π», Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·Π΄Π΅Π» ΡΠΎΠ²Π° ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Consul ΠΈΠ»ΠΈ Postgres, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ½ΠΎΠ³ΠΎ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ° ΡΠΎΠ²Π°.
ΠΠ°ΠΊΠ²ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ ΡΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠ»? ΠΡΡΠ²ΠΎ, Π²ΠΈΠ½Π°Π³ΠΈ Π³Π»Π΅Π΄Π°ΠΌ ΠΊΠΎΠ³Π° Π΅ ΠΏΡΠΈΡΡΠΈΠ³Π½Π°Π» ΡΠ°ΠΉΠ»ΡΡ. Π Π·Π° ΠΌΠ΅Π½ ΡΠΎΠ²Π° Π΅ Π²ΠΎΠ΄ΠΎΠ΄Π΅Π». ΠΠ»Π΅Π΄Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΈΠ»Π΅ΡΠ°, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΈΠ»Π΅ΡΠ° ΠΈ ΡΠ»Π΅Π΄ ΡΠΈΠ»Π΅ΡΠ°. Fileover ΠΈΠΌΠ° Π΄Π²Π° Π·Π½Π°ΠΊΠ°: ΡΠΎΠ²Π° Π΅ Π½Π°ΡΠ°Π»Π½ΠΈΡΡ ΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ°Ρ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π³Π»Π΅Π΄Π°ΠΌ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΡΠ±ΠΈΡΠΈΡ ΠΏΡΠ΅Π΄ΠΈ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π°Π»ΠΈ ΡΠ°ΠΉΠ»Π°, Ρ.Π΅. ΡΡΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ» ΡΠ°ΠΉΠ»ΡΡ.
Π ΡΠΎΠ²Π° Π΄Π°Π²Π° ΠΊΠ°ΡΡΠΈΠ½Π° Π½Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π² Π±ΡΠ΄Π΅ΡΠ΅, Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΠ²Π° (ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π½ΡΠΌΠ° ΡΠ°ΠΉΠ»).
Π ΠΊΡΠ΄Π΅ ΡΡΡΡΠΈΠΌ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ? ΠΠ»Π΅Π΄Π°ΠΌ:
- ΠΡΡΠ²ΠΎ, Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Patroni.
- Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Postgres ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° DCS, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Patroni.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΡΠΎ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π΄Π°Π²Π°Ρ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΡΠΈΡΠΈΠ½ΠΈΠ»ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ²ΡΡΠ²Π°ΠΌ ΠΊΡΠΌ Patroni? ΠΠΌΠ°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Ρ Patroni. Π‘ΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½ ΡΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ° Π΄Π½Π΅Ρ. ΠΠ½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ. Π’ΠΎΠ²Π° ΡΠ° Stolon, Repmgr, Pg_auto_failover, PAF. 4 ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΠΏΠΈΡΠ°Ρ Π³ΠΈ Π²ΡΠΈΡΠΊΠΈΡΠ΅. Patroni ΠΌΠΈ Π΅ ΡΠ°Π²ΠΎΡΠΈΡ.
ΠΠΊΠΎ ΠΌΠ΅ ΠΏΠΎΠΏΠΈΡΠ°Ρ: "ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π»ΠΈ Patroni?". Π©Π΅ ΠΊΠ°ΠΆΠ° Π΄Π°, Π·Π°ΡΠΎΡΠΎ Ρ Π°ΡΠ΅ΡΠ²Π°ΠΌ Patroni. Π ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠΈΡ Π΄Π° Π³ΠΎ Π³ΠΎΡΠ²Ρ.
ΠΠΊΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠΌΠ° Ρ Patroni ΠΎΡΠ²Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ
, Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°
ΠΠΌΠ° Π½ΡΠΊΠΎΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΈΡΡΠΎΡΠΈΠΈ Π·Π° Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅Π»Π²Π°Ρ Π² ΠΊΡΠ°ΠΊΠ°ΡΠ°. ΠΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π΅Π½. Π§Π΅ΡΠ΅ΡΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅, ΡΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅. ΠΡΠΌΠ΅ΡΠ½Π°Ρ ΡΠ΅.
Π Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΊΠ°ΠΆΠ° Π³ΠΎΠ»ΡΠΌΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Zalando Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ ΠΡΠΊΡΡΠΊΠΈΠ½ ΠΈ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ»ΡΠΊΠΈΠ½. ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ»ΡΠΊΠΈΠ½ Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΠ°Π²ΡΠΎΡΠΈΡΠ΅, ΡΠΎΠΉ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π² Zalando, Π½ΠΎ ΡΠΎΠ²Π° ΡΠ° Π΄Π²Π°ΠΌΠ° Π΄ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡ.
Π ΠΌΠΈΡΠ»Ρ, ΡΠ΅ Patroni Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΡΠΈΠ½ΠΎ Π½Π΅ΡΠΎ. Π Π°Π΄Π²Π°ΠΌ ΡΠ΅, ΡΠ΅ Ρ ΠΈΠΌΠ°, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅ Ρ Π½Π΅Ρ. Π Π³ΠΎΠ»ΡΠΌΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΈΡΠ°Ρ ΠΏΠ°ΡΠΎΠ²Π΅ Π·Π° Patroni. ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅ ΠΠ°ΡΡΠΎΠ½ΠΈ Π΄Π° ΡΡΠ°Π½Π΅ ΠΏΠΎ-Π·ΡΡΠ», Π³ΠΎΡΠΈΠ½ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Ρ Π²ΡΠ·ΡΠ°ΡΡΡΠ°. ΠΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°, Π½ΠΎ ΡΠ΅ Π½Π°Π΄ΡΠ²Π°ΠΌ Π΄Π° ΡΡΠ°Π½Π΅ ΠΎΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ. ΠΡΠΎ Π·Π°ΡΠΎ, Π°ΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Patroni, Π½Π΅ ΡΠ΅ ΡΡΡΠ°Ρ ΡΠ²Π°ΠΉΡΠ΅. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.
Π’ΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π²ΡΠΏΡΠΎΡΠΈ ΠΏΠΈΡΠ°ΠΉΡΠ΅.
ΠΡΠΏΡΠΎΡΠΈ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΠΊΠΎ ΡΠ»Π΅Π΄ ΡΠ°ΠΉΠ» Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΡΠ°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ, ΡΠΎΠ³Π°Π²Π° Π·Π°ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ»?
ΠΠ°ΡΠΎΡΠΎ ΡΠ° Π½ΠΎΠ²ΠΈ Π½Π΅ΡΠ°. Π‘ Π½Π΅Ρ ΡΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΡΠ΅ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ. ΠΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π²Π»Π΅Π·Π΅ΠΌ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΠ΅ Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎ ΠΊΠ°ΠΊΡΠΎ ΡΡΡΠ±Π²Π°. Π’ΠΎΠ²Π° Π΅ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π½Π΅Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π½Π° Π²ΡΠ·ΡΠ°ΡΡΠ½ΠΈΡΠ΅ - ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠΈΠ΄ΠΎΡ ΠΌΠ΅ ΡΡΡΡΠΈΠ½ΡΠ° ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π°Ρ ΠΌΠ΅, Π½Π°Π»ΠΈ?
ΠΠ΅ ΡΡΡΡΠΈΠ½, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π°ΡΡΠ°Π²Π°ΠΌΠ΅ Π·Π° Π°Π²ΡΠΎΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΡΠΈ Π²Π΅Π΄Π½Π°Π³Π°. ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΈΠ·Π²Π΅ΡΡΠΈΡ, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π» Π°Π²ΡΠΎΡΠ°ΠΉΠ». ΠΠΎΡΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΠΎΡΠΈΠ²Π°ΠΌΠ΅ ΠΈ Π³Π»Π΅Π΄Π°ΠΌΠ΅. ΠΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ Π΄ΠΎ Π½ΠΈΠ²ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Patroni ΡΡΠ΅Π· REST API, ΠΈΠΌΠ° ΠΈΡΡΠΎΡΠΈΡ. Π§ΡΠ΅Π· Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡΠ΅ ΠΊΠ»Π΅ΠΉΠΌΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΡΠ°ΠΉΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ. ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΈΡΡΠ°, ΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ±ΠΈΡΠΈΡ Π΅ ΠΈΠΌΠ°Π»ΠΎ. ΠΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ±ΠΈΡΠΈΡ, Π·Π½Π°ΡΠΈ Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π» Π°Π²ΡΠΎΡΠ°ΠΉΠ». ΠΠΎΠΆΠ΅Ρ Π΄Π° ΠΎΡΠΈΠ΄Π΅Ρ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ. ΠΠ»ΠΈ Π½Π°ΡΠ°ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΠ²Π΅ΡΠΈ Π΄Π°Π»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° ΠΌΡΡΡΠΎ, Π½ΡΠΌΠ° Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈ!
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈΡ ΡΠ°Π·ΠΊΠ°Π·! ΠΠΊΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ DCS ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½ΡΠΊΡΠ΄Π΅ Π΄Π°Π»Π΅Ρ ΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π° Postgres, ΡΠΎΠ³Π°Π²Π° ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ? ΠΠ°ΠΊΠ²ΠΈ ΡΠ° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ DCS ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ, Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠΎ Ρ ΡΡΡ ΠΈ Ρ.Π½.? ΠΠ°ΠΊ ΠΎΡΠ΅Π»ΡΠ²Π° ΡΡΠ»Π°ΡΠ° ΡΠ°Π·ΠΈ ΡΡΡΡΠΊΡΡΡΠ°? Π ΠΊΠ°ΠΊ Π³ΠΈ ΠΏΡΠ°Π²ΠΈΡ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ°?
ΠΠ° Π΅Π΄Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°, Π°ΠΊΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΡΡ. Π‘ΡΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π·ΠΈ ΠΌΠ°ΡΡΠΈΡΠ° Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅Π· Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΠ»Π°Π½ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅. Π Π² ΡΠ»ΡΡΠ°Ρ Π½Π° DCS, ΡΠΎΠΉ ΠΈΠ΄Π²Π° ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π Π°Π΄ΠΌΠΈΠ½Π° Π³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°, Π° Π½ΠΈΠ΅ Π²Π΅ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ°ΠΌΠ΅ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Ρ ΠΈ ΡΡΡ Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° Π³ΠΎ ΠΎΠΏΡΠ°Π²ΡΡ ΠΏΡΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ. ΠΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½ΡΠΌΠ° DCS, ΡΠΎΠ³Π°Π²Π° Π³ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ Π³ΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ Π½Π΅ Π½ΠΎΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, Π½ΠΎ Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ ΠΊΠ°ΠΊ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅.
Π’ΠΎΠ΅ΡΡ, ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π»ΠΈ ΡΠ°Π·Π±ΡΠ°Ρ , ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌ Patroni, Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌ ΡΠ°ΠΉΠ»Π°, Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌ Π²ΡΠΈΡΠΊΠΎ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ Π½Π΅ΡΠΎ Ρ Ρ ΠΎΡΡΠΎΠ²Π΅ΡΠ΅?
ΠΠ°Π²ΠΈΡΠΈ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·Π»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π² DCS ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠΊΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·Π»ΠΈ ΠΈ Π°ΠΊΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅ (ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ°), ΡΠΎΠ³Π°Π²Π° ΠΊΠ»ΡΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠ²ΠΎΡΡΠΌ. Π Patroni ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. Π Π½ΠΈΡΠΎ Π½Π΅ ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°. ΠΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π·Π°ΡΡΠ³Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·Π»ΠΈ, Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΡΠΈΠΏΠ΅ ΠΊΠ²ΠΎΡΡΠΌΠ°, ΡΠΎΠ³Π°Π²Π° - Π΄Π°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Patroni Π½Π° ΠΏΠ°ΡΠ·Π°. ΠΠΌΠ° ΡΡΠΎΡΠ²Π΅ΡΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° - patronictl pause, patronictl resume. ΠΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠΌ ΠΏΠ°ΡΠ·Π° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° DCS ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΠΌΠ΅ ΠΏΠ°ΡΠ·Π°ΡΠ° ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ΠΌ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ!
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°! ΠΠ°ΠΊ ΡΠ΅ ΡΡΠ²ΡΡΠ²Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ?
ΠΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΠ΅ Π΅ΠΊΠΈΠΏΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°Ρ, Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠΈ ΡΠ° ΠΏΡΠΈΡΠ΅ΡΠ½Π΅Π½ΠΈ.
ΠΠ°ΠΊΠ²ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΠΈΠΌΠ°?
ΠΠ°ΡΠ°Π½ΡΠΈΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π½ΠΈ. ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ ΠΡΠΊΡΡΠΊΠΈΠ½ ΠΈΠΌΠ° Π΄ΠΎΠΊΠ»Π°Π΄ βΠΠ°ΠΊ Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ RPO ΠΈ RTOβ, Ρ.Π΅. Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ. ΠΠΈΡΠ»Ρ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ ΡΠ΅Π·ΠΈ ΡΠ»Π°ΠΉΠ΄ΠΎΠ²Π΅ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠΎΡΡΠΈΠΌ. ΠΠΎΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠΈ ΡΠΏΠΎΠΌΠ½ΡΠΌ, ΠΈΠΌΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΡΡΠΏΠΊΠΈ Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ°. ΠΠΎΠ»ΠΊΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ, ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Π³ΡΠ±ΠΈΠΌ. ΠΠ°ΡΠΎ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ Patroni, Π½ΠΎ ΡΠΎΠ²Π° Π΅ Π½ΠΎΠΆ Ρ Π΄Π²Π΅ ΠΎΡΡΡΠΈΠ΅ΡΠ°: ΠΈΠ»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΈΠ»ΠΈ Π³ΡΠ±ΠΈΠΌ ΡΠΊΠΎΡΠΎΡΡ. ΠΠΌΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, Π½ΠΎ ΡΡ ΡΡΡΠΎ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° 100% Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆ! ΠΠΌΠ°ΡΠ΅ Π»ΠΈ ΠΎΠΏΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Patroni Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π½ΡΠ»Π΅Π²ΠΎ Π½ΠΈΠ²ΠΎ? Π’ΠΎΠ΅ΡΡ, Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ? Π’ΠΎΠ²Π° Π΅ ΠΏΡΡΠ²ΠΈΡΡ Π²ΡΠΏΡΠΎΡ. Π Π²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΡΠΎΡ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ ΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Repmgr, Π½ΠΎ Π±Π΅Π· autofiler, Π° ΡΠ΅Π³Π° ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΠΌ autofiler. Π Π½ΠΈΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Patroni ΠΊΠ°ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Repmgr?
ΠΡΡΠ²ΠΈΡΡ Π²ΡΠΏΡΠΎΡ Π±Π΅ΡΠ΅ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΠΈΠΊΠΎΠΉ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΡΡΠΊ, Π·Π°ΡΠΎΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΡΡΡΠ°Ρ ΡΠ²Π°Ρ (ΠΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²Π΅ΡΠ΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π΅ ΡΠ° Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° - ΠΠ΅Π»Π΅ΠΆΠΊΠ° Π½Π° Π»Π΅ΠΊΡΠΎΡΠ°). ΠΠΎ Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΏΠΎΠ½Π΅ ΡΡΠΈ Π²ΡΠ·Π΅Π»Π° Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, Π·Π°ΡΠΎΡΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π° Π²ΡΠ·Π΅Π»Π° ΠΈ Π°ΠΊΠΎ Π³Π»Π°Π²Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΡΡ, ΡΠΎΠ³Π°Π²Π° Patroni ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π° ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π» Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΡΠ°Π±ΠΎΡΠ°. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠΈΡΠΊ ΠΎΡ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΎΡΠΈΡ Π²ΡΠΏΡΠΎΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Repmgr ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ Π½ΡΠΊΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ. ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅? Patroni ΠΈΠ΄Π²Π° Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ», Repmgr ΠΈΠ΄Π²Π° Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° Repmgr Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈΡ ΡΠ°ΠΉΠ».
Repmgr ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° Postgres ΡΠ° ΠΆΠΈΠ²ΠΈ. Repmgr ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π·Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³, ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π³ΠΎΠ»ΡΠΌ Repmgr ΠΊΠ»ΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΠ°Π΄Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΈ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΠ΅ ΡΠ»Π΅Π΄Ρ Repmgr ΠΎΡ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π±Π΅ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΎ ... ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅. ΠΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π² DCS, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ°Π²ΠΈ Stolon, Patroni, Π΅ Π½Π°ΠΉ-ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ.
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ, ΠΈΠΌΠ°ΠΌ Π΅Π΄ΠΈΠ½ Π²ΡΠΏΡΠΎΡ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π»Π°ΠΌΠ΅ΡΡΠΊΠΈ. Π Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡ ΡΠ΅ DCS ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° ΠΊΡΠΌ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Ρ ΠΎΡΡ. Π Π°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π΅ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΆΠΈΠ²Π΅Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ. Π ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°, Π°ΠΊΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° DCS ΠΊΠ»ΡΡΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½? ΠΡΠΌΠ° Π΄Π° ΠΊΠ°Π·Π²Π°ΠΌ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΡ : ΠΎΡ ΠΊΡΠΈΠ²ΠΈΡΠ΅ ΡΡΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΈΡΠ΅ Π΄ΠΎ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠ΅ ΡΡΠΌ Π³ΠΎ ΠΊΠ°Π·Π°Π» Π½Π° Π³Π»Π°Ρ, Π½ΠΎ DCS ΠΊΠ»ΡΡΡΠ΅ΡΡΡ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ failover, Ρ.Π΅. ΡΠΎΠ²Π° Π΅ Π½Π΅ΡΠ΅ΡΠ΅Π½ Π±ΡΠΎΠΉ Π²ΡΠ·Π»ΠΈ, Π·Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΊΠ²ΠΎΡΡΠΌ. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°, Π°ΠΊΠΎ DCS ΠΊΠ»ΡΡΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΊΠ²ΠΎΡΡΠΌ, Ρ.Π΅. Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° Π²ΡΠ·Π΅Π»? Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΊΠ»ΡΡΡΠ΅ΡΡΡ Patroni ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. ΠΠ»ΡΡΡΠ΅ΡΡΡ Patroni Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈ. Π’ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ DCS ΠΈ Π΄Π° ΡΡΡ ΡΠ°Π½ΠΈ ΡΠ°ΠΌ Π½ΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅Π»ΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. Π ΡΠ°ΠΊΠ° ΠΈΠ»ΠΈ ΡΡΡΠ½Π° Π½Π°ΠΌΠ΅ΡΠ° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΈΠ»ΠΈ DCS Π΄Π° ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ.
ΠΡΡΠ±ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, DCS ΡΡΠ°Π²Π° ΡΡΠ»ΡΠ³Π° Π·Π° Π½Π°Ρ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ½Π°, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈ ΡΠ°ΠΌΠ°ΡΠ° Π±Π°Π·Π°?
ΠΠ° Π΄Π°. Π ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Service Discovery Π΅ Π½Π΅ΡΠ°Π·Π΄Π΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. ΠΠ½Π΅Π΄ΡΡΠ²Π° ΡΠ΅ ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΡΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π±Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π°, ΡΠ°Π·Π³ΡΡΠ½Π°ΡΠ° Π² DC ΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ Service Discovery. ΠΠΊΠΎ Π΅ Consul, ΡΠΎΠ³Π°Π²Π° DNS ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π²ΡΡΡ Ρ Π½Π΅Π³ΠΎ. ΠΠΊΠΎ ΡΠΎΠ²Π° Π΅ Etcd, ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΡΠ°ΡΡ ΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Kubernetes, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π²ΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ. Π‘ΡΡΡΠ²Π° ΠΌΠΈ ΡΠ΅, ΡΠ΅ Service Discovery Π²Π΅ΡΠ΅ Π΅ Π½Π΅ΡΠ°Π·Π΄Π΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΈ. Π ΡΠ΅ ΠΌΠΈΡΠ»ΡΡ Π·Π° ΡΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΠ°Π½ΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈ!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com