ΠΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠ°!Β
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠΈΠΊΠΈΡΠ°, Ρ ΡΠΈΠΌΠ»ΠΈΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² Π¦ΠΈΠ°Π½. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠΎΠΈΡ
ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠ΅ΠΉ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π½Π° ΠΏΡΠΎΠ΄Π΅, Π΄ΠΎ Π½ΡΠ»Ρ.
Π’ΠΎ, ΠΎ ΡΠ΅ΠΌ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π΄Π°Π»Π΅Π΅, ΠΏΡΠΈΠ½Π΅ΡΠ»ΠΎ Π½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΠΈ, ΠΈ ΡΠ΅Π»Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ β Π½Π΅ Π΄Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ Π»ΡΠ΄ΡΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π½Π°ΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
Π²Π»ΠΈΡΠ½ΠΈΠ΅.Β
ΠΡΠ΅Π°ΠΌΠ±ΡΠ»Π°
ΠΠ°Π²Π½ΡΠΌ-Π΄Π°Π²Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π¦ΠΈΠ°Π½ ΡΠΎΡΡΠΎΡΠ» ΠΈΠ· ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠ², ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½Π°ΠΌΠ΅ΠΊΠΎΠ² Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ, ΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΅ΡΡΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ 3β5 ΡΡΡΠ°Π½ΠΈΡ.Β
ΠΡΠ²Π΅ΡΠ°ΡΡ β Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π°Π»Π΅ΡΡ. Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΡΠΈΡΠ°Π»ΠΎΡΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠΌ, β ΡΠ΅ΡΠ°Π»ΠΈ Π»ΡΠ΄ΠΈ Π½Π° ΡΠΎΠ²Π΅ΡΠ°Π½ΠΈΡΡ . ΠΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π»Π° Π² ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°. ΠΠΎΠ³Π΄Π° ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½ΠΎ, ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΠΎΡΡΠΌΠΎΡΡΠ΅ΠΌ β ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΉ ΠΎΡΡΠ΅Ρ Π½Π° ΠΏΠΎΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅: ΡΡΠΎ Π±ΡΠ»ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π»ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ΅, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.Β
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ±ΠΈΠ»ΠΈ Π΄Π½ΠΎ
Β
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΌΡ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ°. ΠΠΎ Π½ΠΈΠΌ ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΡ
/Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌ uptime.Β
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ Π΅ΡΡΡ ΡΡΠ΄ ΡΡΠΏΠ΅ΡΠ²Π°ΠΆΠ½ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΠ°ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ β ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΏΠΎΠ΄Π°ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 1%, β ΡΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ. ΠΡΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 15 ΠΌΠΈΠ½ΡΡ Π² ΠΏΡΠ°ΠΉΠΌ-ΡΠ°ΠΉΠΌ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 0,1% β ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠΌ. ΠΡΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡ Π±ΠΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ², ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΡ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
Π’ΠΎΠΏ Π»ΡΡΡΠΈΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ² Π¦ΠΈΠ°Π½
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΎΡΠ½ΠΎ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ ΡΠ»ΡΡΠΈΠ»ΡΡ.Β
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ Ρ Π½Π°Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ ΠΈ ΠΎΡΡΠ°ΠΆΠ΅Π½ Π² ΡΠΏΠΈΠΊΠ΅ Jira. Π ΡΠ»ΠΎΠ²Ρ: Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π·Π°Π²Π΅Π»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π°Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ FAIL β Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΈΠΊΠΈ.Β
ΠΡΠ»ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ΅ΠΉΠ»Ρ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ, ΡΠΎ Π»ΠΈΠ΄ΠΈΡΡΡΡ:Β
- ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ mssql;
- ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ;
- ΠΎΡΠΈΠ±ΠΊΠΈ Π°Π΄ΠΌΠΈΠ½Π°.
ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π°Π΄ΠΌΠΈΠ½ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΠ΅ΠΉΠ»Π°Ρ .
ΠΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ β Β«ΠΠ°Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² DNSΒ»
ΠΡΠΎ Π±ΡΠ» Π½Π΅Π½Π°ΡΡΠ½ΡΠΉ Π²ΡΠΎΡΠ½ΠΈΠΊ. Π Π΅ΡΠΈΠ»ΠΈ ΠΌΡ Π½Π°Π²Π΅ΡΡΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² DNS-ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅.Β
ΠΠ°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ dns-ΡΠ΅ΡΠ²Π΅ΡΡ c bind Π½Π° powerdns, Π²ΡΠ΄Π΅Π»ΠΈΠ² ΠΏΠΎΠ΄ ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ, Π³Π΄Π΅ ΠΊΡΠΎΠΌΠ΅ dns Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ.Β
Π Π°Π·ΠΌΠ΅ΡΡΠΈΠ»ΠΈ ΠΌΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ dns-ΡΠ΅ΡΠ²Π΅ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΎΠΊΠ°ΡΠΈΠΈ Π½Π°ΡΠΈΡ ΠΠ¦, ΠΈ Π½Π°ΡΡΡΠΏΠΈΠ» ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π° Π·ΠΎΠ½ ΠΈΠ· bind Π² powerdns ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ.Β
Π ΡΠ°ΠΌΡΠΉ ΡΠ°Π·Π³Π°Ρ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π° ΠΈΠ· Π²ΡΠ΅Ρ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΊΡΡΠΈΡΡΡΡΠΈΡ
bind-Π°Ρ
Π½Π° Π²ΡΠ΅Ρ
ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
, ΠΎΡΡΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ΅ Π² Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³Π΅. ΠΡΠΎΡ ΠΠ¦ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» Π·Π°Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Π½Π΅ΠΊΡΠΈΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ Π½Π°Ρ, Π½ΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΡΠ°Π» single point of failure.
ΠΠ°ΠΊ ΡΠ°Π· Π² ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π° ΡΠΏΠ°Π» ΠΊΠ°Π½Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ ΠΠΎΡΠΊΠ²ΠΎΠΉ ΠΈ Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ΠΎΠΌ. ΠΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ Π±Π΅Π· DNS Π½Π° ΠΏΡΡΡ ΠΌΠΈΠ½ΡΡ ΠΈ ΠΏΠΎΠ΄Π½ΡΠ»ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ
ΠΎΡΡΠ΅Ρ ΡΡΡΡΠ°Π½ΠΈΠ» Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ.Β
ΠΡΠ²ΠΎΠ΄Ρ:
ΠΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π°Π»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΡΠ°Π±ΠΎΡΠ°ΠΌ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡ ΡΠΎΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ³ΠΎ, ΠΊ ΡΠ΅ΠΌΡ Π³ΠΎΡΠΎΠ²ΠΈΠΌΡΡ. Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ n-2, Π° Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΡΠΎΡ ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΎ n-1.
- ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΡΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΏΡΠ½ΠΊΡΡ, Π³Π΄Π΅ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠ°ΡΡΡ, ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΡΠ²Π°ΠΉΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π³Π΄Π΅ Π²ΡΠ΅ ΠΏΠΎΡΠ»ΠΎ Β«Ρ ΡΠΆΠ΅ Π½Π΅ΠΊΡΠ΄Π°Β», Π·Π°ΡΠ°Π½Π΅Π΅.
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠΉΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ dns-ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°ΡΠΈΡΠΌ/Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠ°ΠΌ/ΡΡΠΎΠΉΠΊΠ°ΠΌ/ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡΠ°ΠΌ/Π²Π²ΠΎΠ΄Π°ΠΌ.
- ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΠ°Π²ΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ΅ΡΠΈΡΡΡΡΠΈΠΉ dns-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ dns-ΡΠ΅ΡΠ²Π΅ΡΡ, Π° Π² ΡΠ»ΡΡΠ°Π΅ Π΅Π³ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΈΠ· ΠΊΠ΅ΡΠ°.Β
Π§Π΅ΡΠ²Π΅ΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ β Β«ΠΠ°Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² NginxΒ»
Π ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ Π΄Π΅Π½Ρ Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ΡΠΈΠ»Π°, ΡΡΠΎ Β«Ρ Π²Π°ΡΠΈΡ ΡΡΠΎ ΡΠ΅ΡΠΏΠ΅ΡΡΒ», ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² nginx. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ β ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΠΊ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅. Π Π°Π½ΡΡΠ΅ Π²ΡΠ΅ Π±ΡΠ»ΠΎ Β«ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΎΠΆΠΈΠ²ΡΠΈΠΌΡΡΒ» ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΡΠ΅Π±Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π½Π΅ Π½Π΅ΡΠ»ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ server_name Π²ΡΠ½Π΅ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. Π ΡΠ»ΠΎΠ²Ρ β ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ 253949 ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ 7836520 ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΡΡΠΈ 7 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ. ΠΠ΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΡΡΠΊΡΡΡΡ:Β
Nginx structure
βββ access
β Β βββ allow.list
...
β Β βββ whitelist.conf
βββ geobase
β Β βββ exclude.conf
...
β Β βββ geo_ip_to_region_id.conf
βββ geodb
β Β βββ GeoIP.dat
β Β βββ GeoIP2-Country.mmdb
β Β βββ GeoLiteCity.dat
βββ inc
β Β βββ error.inc
...
β Β βββ proxy.inc
βββ lists.d
β Β βββ bot.conf
...
β Β βββ dynamic
β Β βββ geo.conf
βββ lua
β Β βββ cookie.lua
β Β βββ log
β Β β Β βββ log.lua
β Β βββ logics
β Β β Β βββ include.lua
β Β β Β βββ ...
β Β β Β βββ utils.lua
β Β βββ prom
β Β Β Β βββ stats.lua
β Β Β Β βββ stats_prometheus.lua
βββ map.d
β Β βββ access.conf
β Β βββ ..Β
β Β βββ zones.conf
βββ nginx.conf
βββ robots.txt
βββ server.d
β Β βββ cian.ru
β Β β Β βββ cian.ru.conf
β Β β Β βββ ...
β Β β Β βββ my.cian.ru.conf
βββ service.d
β Β βββ ...
β Β βββ status.conf
βββ upstream.d
Β Β Β Β βββ cian-mcs.conf
Β Β Β Β βββ ...
Β Β Β Β βββ wafserver.conf
Π‘ΡΠ°Π»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΡΡΡΠ΅, Π½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² ΡΠ°ΡΡΡ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π»Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π»Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ include *.conf. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ β ΡΠ°ΡΡΡ Ρ ΠΎΡΡΠΎΠ² ΡΡΠ°Π»Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° 301 Π½Π° Π³Π»Π°Π²Π½ΡΡ. ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° Π±ΡΠ» Π½Π΅ 5Ρ Ρ /4Ρ Ρ , ΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ ΡΡΠ°Π·Ρ, Π° Π»ΠΈΡΡ ΠΏΠΎΠ΄ ΡΡΡΠΎ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΠ²ΠΎΠ΄Ρ:Β
- ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ nginx) ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΡΠ²Π°ΠΉΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π°ΠΊ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡ Π’Π’Π.
- ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΈΡΠΈΡΠ΅ ΡΠ΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΡΠΎ Π²ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ server_name ΠΎΡΠ΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΡ, + ΡΠ΅Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ°. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΡΡΠΎΠ±Ρ ΡΡΠ΄ΠΎΡΠΎΠΆΠ½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π² 3 ΡΠ°ΡΠ° Π½ΠΎΡΠΈ, ΡΡΠΎ ΠΆΠ΅ Π΅ΡΠ΅ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.Β
Π’ΡΠ΅ΡΡΠ΅ ΠΌΠ΅ΡΡΠΎ β Β«ΠΠ½Π΅Π·Π°ΠΏΠ½ΠΎ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ ΠΌΠ΅ΡΡΠΎ Π² CassandraΒ»
ΠΠ°Π½Π½ΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠΎΡΠ»ΠΈ, ΠΈ Π²ΡΠ΅ Π±ΡΠ»ΠΎ Ρ ΠΎΡΠΎΡΠΎ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Cassandra Π½Π°ΡΠ°Π»ΠΈ ΠΏΠ°Π΄Π°ΡΡ repair Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠ΅ΠΉΡΠΏΠ΅ΠΉΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ compaction.Β
Π ΠΎΠ΄ΠΈΠ½ Π½Π΅Π½Π°ΡΡΠ½ΡΠΉ Π΄Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΠΎΡΡΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΡΡ Π² ΡΡΠΊΠ²Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
- ΠΌΠ΅ΡΡΠ° ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ ΠΎΠΊΠΎΠ»ΠΎ 20% ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΡ;
- ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ΄Ρ Π½Π΅Π»ΡΠ·Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ cleanup ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ΄Ρ ΠΈΠ·-Π·Π° Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ°Π·Π΄Π΅Π»Π°Ρ ;
- ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρ ΠΏΠ°Π΄Π°Π΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡ;Β
- ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΡΡ
ΠΎΠ΄ β Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅ΡΠ΅ 5 Π½ΠΎΠ΄ Π±Π΅Π· cleanup, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°Π»ΠΈ ΠΏΠ»Π°Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ ΡΠ½ΠΎΠ²Π° Π²Π²ΠΎΠ΄ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΡΡΡΡΠ΅ Π½ΠΎΠ΄Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ ΠΌΠ΅ΡΡΠΎ. ΠΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ. ΠΡΠ» ΡΠΈΡΠΊ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.Β
ΠΡΠ²ΠΎΠ΄Ρ:
- ΠΠ° Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ cassandra Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π½ΡΡΠΎ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ 60% ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.Β
- ΠΠ°Π³ΡΡΠΆΠ΅Π½Ρ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 50% ΠΏΠΎ cpu.
- ΠΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π½Π° capacity planning ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ.
- Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ΄ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ β ΡΠ΅ΠΌ Π»ΡΡΡΠ΅. Π‘Π΅ΡΠ²Π΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , Π±ΡΡΡΡΠ΅Π΅ ΠΏΠ΅ΡΠ΅Π½Π°Π»ΠΈΠ²Π°ΡΡΡΡ, ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Π»Π΅Π³ΡΠ΅ ΡΠ΅Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ.Β
ΠΡΠΎΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ β Β«ΠΡΡΠ΅Π·Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· consul key-value storageΒ»
ΠΠ»Ρ service discovery ΠΌΡ, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ consul. ΠΠΎ Ρ Π½Π°Ρ Π΅Π³ΠΎ key-value ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΈ Π΄Π»Ρ blue-green Π²ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°. Π’Π°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΈ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΡ Π°ΠΏΡΡΡΠΈΠΌΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π» Ρ KV. Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· KV ΠΏΡΠΎΠΏΠ°Π»ΠΈ. ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ Ρ ΡΡΠ΄ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ β ΠΏΡΠΈ Π²ΡΠΊΠ»Π°Π΄ΠΊΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° Π°ΠΏΡΡΡΠΈΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π°ΡΡ Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ, Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ 502 ΠΈΠ·-Π·Π° ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ² ΠΏΠΎ CPU. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠ΅ΡΠ΅Π΅Ρ Π°Π»ΠΈ Ρ consul KV Π½Π° postgres, ΠΎΡΠΊΡΠ΄Π° ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ.Β Β
ΠΡΠ²ΠΎΠ΄Ρ:
- Π‘Π΅ΡΠ²ΠΈΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π² ΡΠ΅Π±Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠ° Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π² ES β Π»ΡΡΡΠ΅ Π±Ρ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠΈ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ, Π³Π΄Π΅ ΠΎΠ½ Π½Π΅ Π½ΡΠΆΠ΅Π½, ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ action.destructive_requires_name: true.
- ΠΡΡΠ°Π±Π°ΡΡΠ²Π°ΠΉΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π°Β python), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΠΈ Π±Π΅ΠΊΠ°ΠΏΠΈΡΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ.
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ β Β«ΠΠ°ΠΏΠΈΡΠ°Π½ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΡΡΡΒ»Β
Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° Π°ΠΏΡΡΡΠΈΠΌΡ nginx Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π² Π±Π΅ΠΊΠ΅Π½Π΄Π΅ Π±ΡΠ»ΠΎ 10+ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ ΡΡΠΎ round-robin Π½Π°ΠΏΡΠ°Π²Π»ΡΠ» Π·Π°ΠΏΡΠΎΡΡ Ρ 1 ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°ΠΏΡΡΡΠΈΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π»ΠΎΠ°Π΄ nginx Π½Π°ΡΠΈΠ½Π°Π» ΡΠ½Π°ΡΠ°Π»Π°, Π½Π° ΠΏΠ΅ΡΠ²ΡΠ΅ Π°ΠΏΡΡΡΠΈΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ΅ΠΌ Π½Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ β ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ ΡΡΡΠ°Π΄Π°Π» Π²Π΅ΡΡ ΡΠ°ΠΉΡ. ΠΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ°ΡΠΈΠΊΠ°. ΠΡΠΎΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ nginx Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ random Π½Π΅ Π²ΡΡΠ»ΠΎ β Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°ΡΡ ΠΊΡΡΡ lua ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²Π·Π»Π΅ΡΠ΅Π» Π½Π° Π²Π΅ΡΡΠΈΠΈ 1.15 (Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ). ΠΡΠΈΡΠ»ΠΎΡΡ ΠΏΡΠΎΠΏΠ°ΡΡΠΈΡΡ Π½Π°Ρ nginx 1.14.2, Π²Π½Π΅Π΄ΡΠΈΠ² Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ random. ΠΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΎΡ Π±Π°Π³ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ Π² Π½ΠΎΠΌΠΈΠ½Π°ΡΠΈΠΈ Β«ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΡΡΡΒ».
ΠΡΠ²ΠΎΠ΄Ρ:
ΠΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π±Π°Π³).Β
- ΠΡΡΡΡΠΎΠΉΡΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ»ΡΠΊΡΡΠ°ΡΠΈΠΈ Π±ΡΡΡΡΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ELK Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° rps Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ backend ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ upstream, ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΡΠ²Π΅ΡΠ° Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ nginx. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π½Π°ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.Β
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΠΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ΅ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΊΡΡΠΏΡΠ»Π΅Π·Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡ. ΠΠ°Π΄ΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π·Π°ΠΊΠΎΠ½Π΅ ΠΠ΅ΡΡΠΈ:Β Anything that can go wrong will go wrong, ΠΈ ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡ ΠΈΠΌ.Β
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com