ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ своя Π΄ΠΎΠΊΠ»Π°Π΄ АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ Ρ‰Π΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ са Π²Π·Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΎΠΏΠΈΡ‚Π° ΠΎΡ‚ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° PgBouncer ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡƒΠ»Π΅Ρ€Π° Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ОдисСя, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π³ΠΎ пуснаха Π² производство. ОсвСн Ρ‚ΠΎΠ²Π° Ρ‰Π΅ обсъдим ΠΊΠ°ΠΊΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Ρ‚Π΅Π³Π»ΠΈΡ‡Π° Π±ΠΈΡ…ΠΌΠ΅ искали Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π² Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии: Π·Π° нас Π΅ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ само Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ, Π½ΠΎ ΠΈ Π΄Π° Ρ€Π°Π·Π²ΠΈΠ΅ΠΌ потрСбитСлската общност ОдисСя.

Video:

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ всички! Казвам сС ΠΠ½Π΄Ρ€ΡŽ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ Yandex Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. И днСс ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Π΅ΠΌΠ° Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡƒΠ»Π΅Ρ€Π° Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Ако Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° сС ΠΎΠ±Π°Π΄ΠΈΡ‚Π΅ Π½Π° ΠΏΡƒΠ»Π°Ρ€ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ Π½Π° руски, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΈ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅. Наистина искам Π΄Π° намСря Π΄ΠΎΠ±ΡŠΡ€ тСхничСски Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° сС ΡƒΡ‚Π²ΡŠΡ€Π΄ΠΈ Π² тСхничСската Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°.

Π’Π΅ΠΌΠ°Ρ‚Π° Π΅ доста слоТна, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΡƒΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ ΠΈ Π΄ΠΎΡ€ΠΈ Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ Π·Π° Π½Π΅Π³ΠΎ. Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ° някои настройки навсякъдС, Π½ΠΎ Π² Postgres Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½. И ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ (Π½Π° HighLoad++ 2019) ΠΈΠΌΠ° Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° Николай Π‘Π°ΠΌΠΎΡ…Π²Π°Π»ΠΎΠ² Π·Π° настройка Π½Π° заявки Π² Postgres. И Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ, Ρ‚ΡƒΠΊ са дошли Ρ…ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ са ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π»ΠΈ своитС заявки ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Ρ‚ΠΎΠ²Π° са Ρ…ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΈΠ·ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΏΡ€Π΅Π΄ ΠΏΠΎ-Ρ€Π΅Π΄ΠΊΠΈ систСмни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° рСсурситС. И Π½Π° някои мСста ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π² смисъл, Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π½Π΅ са ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Yandex ΠΈΠΌΠ° Postgres. Много услуги Π½Π° Yandex ТивСят Π² Yandex.Cloud. И ΠΈΠΌΠ°ΠΌΠ΅ няколко ΠΏΠ΅Ρ‚Π°Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠ½Π΅ ΠΌΠΈΠ»ΠΈΠΎΠ½ заявки Π² сСкунда Π² Postgres.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И Π½ΠΈΠ΅ прСдоставямС доста стандартСн ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π·Π° всички услуги - Ρ‚ΠΎΠ²Π° Π΅ основният ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ възСл Π½Π° възСла, ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈΡ‚Π΅ Π΄Π²Π΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ (синхронна ΠΈ асинхронна), Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° заявкитС Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ВсСки ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π΅Π½ възСл Π΅ Postgres, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ освСн Postgres ΠΈ систСми Π·Π° наблюдСниС Π΅ инсталиран ΠΈ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. Connection pooler сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠ³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ Π·Π° основната си Ρ†Π΅Π».

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Каква Π΅ основната Ρ†Π΅Π» Π½Π° ΠΏΡƒΠ»Π΅Ρ€Π° Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅?

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Postgres ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΌΠΎΠ΄Π΅Π» Π½Π° процСс, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π΅Π΄Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° Π΅ Π΅Π΄ΠΈΠ½ процСс, Π΅Π΄ΠΈΠ½ Π±Π΅ΠΊΠ΅Π½Π΄ Π½Π° Postgres. И Π² Ρ‚ΠΎΠ·ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ кСшовС, ΠΊΠΎΠΈΡ‚ΠΎ са доста скъпи Π΄Π° сС правят Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ОсвСн Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° Postgres ΠΈΠΌΠ° масив, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ procArray. Π‘ΡŠΠ΄ΡŠΡ€ΠΆΠ° основни Π΄Π°Π½Π½ΠΈ Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ. И ΠΏΠΎΡ‡Ρ‚ΠΈ всички Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° procArray ΠΈΠΌΠ°Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Π° слоТност; Ρ‚Π΅ работят Π²ΡŠΡ€Ρ…Ρƒ цСлия масив ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ. Π’ΠΎΠ²Π° Π΅ доста Π±ΡŠΡ€Π· Ρ†ΠΈΠΊΡŠΠ», Π½ΠΎ с ΠΏΠΎΠ²Π΅Ρ‡Π΅ входящи ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π½Π΅Ρ‰Π°Ρ‚Π° стават ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-скъпи. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅Ρ‰Π°Ρ‚Π° станат ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-скъпи, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠ»Π°Ρ‚ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ висока Ρ†Π΅Π½Π° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Има 3 възмоТни ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

  • ΠžΡ‚ страна Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • ΠžΡ‚ страна Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.
  • И ΠΌΠ΅ΠΆΠ΄Ρƒ, тоСст всякакви ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ.

Π—Π° съТалСниС, вградСният ΠΏΡƒΠ»Π΅Ρ€ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ Π² процСс Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. ΠΠ°ΡˆΠΈΡ‚Π΅ приятСли ΠΎΡ‚ PostgreSQL Professional правят Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ. Кога Ρ‰Π΅ сС появи Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈ. И Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡŠΡ‚ Π΄Π° ΠΈΠ·Π±ΠΈΡ€Π°. Π’ΠΎΠ²Π° са ΠΏΡƒΠ» ΠΎΡ‚ страна Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ прокси ΠΏΡƒΠ».

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΡƒΠ»ΡŠΡ‚ ΠΎΡ‚ страна Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π½Π°ΠΉ-лСсният Π½Π°Ρ‡ΠΈΠ½. И ΠΏΠΎΡ‡Ρ‚ΠΈ всички клиСнтски Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π²ΠΈ прСдоставят Π½Π°Ρ‡ΠΈΠ½: прСдставяйтС ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΎΡ‚ Π²Π°ΡˆΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π² ΠΊΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎ няколко дСсСтки Π²Ρ€ΡŠΠ·ΠΊΠΈ към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ възниква, Π΅, Ρ‡Π΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ искатС Π΄Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚Π΅ Π±Π΅ΠΊΠ΅Π½Π΄Π°, искатС Π΄Π° Π³ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ΠΎΠ³Π°Π²Π° ΠΎΡΡŠΠ·Π½Π°Π²Π°Ρ‚Π΅, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΎΡ‰Π΅ няколко Π·ΠΎΠ½ΠΈ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚, няколко Ρ†Π΅Π½Ρ‚ΡŠΡ€Π° Π·Π° Π΄Π°Π½Π½ΠΈ. А ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡŠΡ‚ Π·Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ числа. Π“ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ са ΠΎΠΊΠΎΠ»ΠΎ 10 000 Π²Ρ€ΡŠΠ·ΠΊΠΈ. Π’ΠΎΠ²Π° Π΅ Ρ€ΡŠΠ±ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Ако Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° прокси ΠΏΡƒΠ»Π΅Ρ€ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° Π΄Π²Π° ΠΏΡƒΠ»Π΅Ρ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° правят ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‰Π°. Π’Π΅ Π½Π΅ са само пуляри. Π’Π΅ са ΠΏΡƒΠ»Π΅Ρ€ΠΈ + ΠΎΡ‰Π΅ Π³ΠΎΡ‚ΠΈΠ½Π° функционалност. Π’ΠΎΠ²Π° Pgpool ΠΈ Crunchy-Proxy.

Но, Π·Π° съТалСниС, Π½Π΅ всСки сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° функционалност. И Ρ‚ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΏΡƒΠ»ΡŠΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ само обСдиняванС Π½Π° сСсии, Ρ‚.Π΅. Π΅Π΄ΠΈΠ½ входящ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π΅Π΄ΠΈΠ½ изходящ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.

Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ подходящо Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ, Π·Π°Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ PgBouncer, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚.Π΅. ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ сС ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΡ‚ с клиСнтскитС Π²Ρ€ΡŠΠ·ΠΊΠΈ само Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅Π½Π΅Ρ‚ΠΎ Π½Π° транзакцията.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И ΠΏΡ€ΠΈ Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Ρ‚ΠΎΠ²Π° Π΅ вярно. Но ΠΈΠΌΠ° няколко ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ искатС Π΄Π° диагностициратС сСсия, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всичкитС Π²ΠΈ входящи Π²Ρ€ΡŠΠ·ΠΊΠΈ са Π»ΠΎΠΊΠ°Π»Π½ΠΈ. ВсСки Π΄ΠΎΠΉΠ΄Π΅ с loopback ΠΈ някак си става Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС прослСди сСсията.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ application_name_add_host. Π’ΠΎΠ²Π° Π΅ Π½Π°Ρ‡ΠΈΠ½ ΠΎΡ‚ страна Π½Π° Bouncer Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ IP адрСс към ΠΈΠΌΠ΅ Π½Π°_ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Но application_name сС Π·Π°Π΄Π°Π²Π° ΠΎΡ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

На Ρ‚Π°Π·ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΆΡŠΠ»Ρ‚Π°Ρ‚Π° линия Π΅ Ρ€Π΅Π°Π»Π½ΠΈ заявки, Π° синята линия Π΅ заявки, ΠΊΠΎΠΈΡ‚ΠΎ лСтят Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. И Ρ‚Π°Π·ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠ° Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ инсталиранСто Π½Π° application_name, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ само Π·Π° прослСдяванС, Π½ΠΎ Π½Π΅ Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ОсвСн Ρ‚ΠΎΠ²Π° Π² Bouncer Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡƒΠ», Ρ‚.Π΅. броя Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ към Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π”ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΠΎΠ΄ΠΈ Ρ‚ΠΎΠ²Π°? Π˜ΠΌΠ°Ρ‚Π΅ Π·Π°Ρ€Π΅Π΄Π΅Π½Π° услуга, написана Π½Π° C++ ΠΈ някъдС Π½Π°Π±Π»ΠΈΠ·ΠΎ ΠΌΠ°Π»ΠΊΠ° услуга Π½Π° възСл, която Π½Π΅ ΠΏΡ€Π°Π²ΠΈ Π½ΠΈΡ‰ΠΎ уТасно с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ нСйният Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ полудява. ΠžΡ‚Π²Π°Ρ€Ρ 20 000 Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ всичко останало Ρ‰Π΅ Ρ‡Π°ΠΊΠ°. Π”ΠΎΡ€ΠΈ ΠΊΠΎΠ΄ΡŠΡ‚ Π²ΠΈ Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

НиС, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, написахмС малък ΠΏΠ°Ρ‡ Π·Π° Bouncer, ΠΊΠΎΠΉΡ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈ Ρ‚Π°Π·ΠΈ настройка, Ρ‚.Π΅. ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΄ΠΎ ΠΏΡƒΠ»Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π‘ΠΈ Π±ΠΈΠ»ΠΎ възмоТно Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ страна Π½Π° Postgres, Ρ‚.Π΅. Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ Ρ€ΠΎΠ»ΠΈΡ‚Π΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ с броя Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Но Ρ‚ΠΎΠ³Π°Π²Π° Π³ΡƒΠ±ΠΈΡ‚Π΅ способността Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π·Π°Ρ‰ΠΎ няматС Π²Ρ€ΡŠΠ·ΠΊΠΈ към ΡΡŠΡ€Π²ΡŠΡ€Π°. PgBouncer Π½Π΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅, Π²ΠΈΠ½Π°Π³ΠΈ Π²Ρ€ΡŠΡ‰Π° ΡΡŠΡ‰Π°Ρ‚Π° информация. И Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅: ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° Π²ΠΈ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ просто сС Π΅ Π·Π°Π³ΡƒΠ±ΠΈΠ»Π°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€Π΅Π΄. Но Π΄ΠΈΠ°Π³Π½ΠΎΠ·Π° няма. Ако Π΅Π΄Π½Π° сСсия Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС установСна, Π²ΠΈΠ΅ няма Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ Π·Π°Ρ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС установСна.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π³Π»Π΅Π΄Π°Ρ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅, Ρ‡Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ΠΎΡ‚Π³ΠΎΡ€Π΅ ΠΈ Π²ΠΈΠΆΡ‚Π΅, Ρ‡Π΅ Bouncer Π΅ Сднонишков. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π² ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° слуТбата. Π Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅, Ρ‡Π΅ стС сС подготвяли Π΄Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚Π΅ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΈ трябва Π΄Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡƒΠ»Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π‘Ρ‚ΠΈΠ³Π½Π°Ρ…ΠΌΠ΅ Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ PgBouncers.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

https://lwn.net/Articles/542629/

Bouncer Π΅ ΠΌΠ°Π»ΠΊΠΎ Π·Π°ΠΊΡŠΡ€ΠΏΠ΅Π½.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И Ρ‚Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π° Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ няколко Bouncers Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TCP ΠΏΠΎΡ€Ρ‚Π°. И ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ входящитС TCP Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ тях с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΡ€ΡŠΠ³ΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ Π·Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ Π΅Π΄ΠΈΠ½ Bouncer, Π½ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Bouncer.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅, Ρ‡Π΅ всСки ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ 3 Bouncers изяТда ΡΡŠΡ€Ρ†Π΅Π²ΠΈΠ½Π°Ρ‚Π° си Π½Π° 100%. Π˜ΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ доста ΠΈΠ·Π±ΠΈΠ²Π°Ρ‡ΠΈ. Π—Π°Ρ‰ΠΎ?

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ TLS. Π˜ΠΌΠ°Ρ‚Π΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. И Π°ΠΊΠΎ сравнитС Postgres с ΠΈ Π±Π΅Π· TLS, Ρ‰Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅, Ρ‡Π΅ броят Π½Π° установСнитС Π²Ρ€ΡŠΠ·ΠΊΠΈ намалява с ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π° ΠΏΠΎΡ€ΡΠ΄ΡŠΠΊΠ° с Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ TLS Ρ€ΡŠΠΊΠΎΡΡ‚ΠΈΡΠΊΠ°Π½Π΅Ρ‚ΠΎ консумира рСсурси Π½Π° процСсора.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И Π² Π³ΠΎΡ€Π½Π°Ρ‚Π° част ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ доста криптографски Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ° вълна ΠΎΡ‚ входящи Π²Ρ€ΡŠΠ·ΠΊΠΈ. Въй ΠΊΠ°Ρ‚ΠΎ Π½Π°ΡˆΠΈΡΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π·ΠΎΠ½ΠΈΡ‚Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚, Π²ΡŠΠ»Π½Π°Ρ‚Π° ΠΎΡ‚ входящи Π²Ρ€ΡŠΠ·ΠΊΠΈ Π΅ доста Ρ‚ΠΈΠΏΠΈΡ‡Π½Π° ситуация. ВоСст ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° старият ΠΏΡŠΡ€Π²ΠΈΡ‡Π΅Π½ Π½Π΅ бСшС Π½Π°Π»ΠΈΡ‡Π΅Π½, цСлият Ρ‚ΠΎΠ²Π°Ρ€ бСшС ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ Ρ†Π΅Π½Ρ‚ΡŠΡ€ Π·Π° Π΄Π°Π½Π½ΠΈ. Всички Ρ‚Π΅ Ρ‰Π΅ Π΄ΠΎΠΉΠ΄Π°Ρ‚ Π΄Π° поздравят TLS Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И голям Π±Ρ€ΠΎΠΉ TLS Ρ€ΡŠΠΊΠΎΡΡ‚ΠΈΡΠΊΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅ Π²Π΅Ρ‡Π΅ Π΄Π° Π½Π΅ ΠΊΠ°Π·Π²Π°Ρ‚ Π·Π΄Ρ€Π°Π²Π΅ΠΉ Π½Π° Bouncer, Π½ΠΎ Ρ‰Π΅ стискат Π³ΡŠΡ€Π»ΠΎΡ‚ΠΎ ΠΌΡƒ. ΠŸΠΎΡ€Π°Π΄ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, Π²ΡŠΠ»Π½Π°Ρ‚Π° ΠΎΡ‚ входящи Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° станС Π½Π΅Π·Π°Ρ‚ΠΈΡ…Π²Π°Ρ‰Π°. Ако ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ към Π±Π°Π·Π°Ρ‚Π° Π±Π΅Π· СкспонСнциално ΠΎΡ‚Π΄Ρ€ΡŠΠΏΠ²Π°Π½Π΅, Ρ‚Π΅ няма Π΄Π° ΠΈΠ΄Π²Π°Ρ‚ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π² ΠΊΠΎΡ…Π΅Ρ€Π΅Π½Ρ‚Π½Π° вълна.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° 16 PgBouncers, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ 16 ядра Π½Π° 100%.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π‘Ρ‚ΠΈΠ³Π½Π°Ρ…ΠΌΠ΅ Π΄ΠΎ каскадата PgBouncer. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π°Ρ‚Π° конфигурация, която ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС постигната Π½Π° нашия Ρ‚ΠΎΠ²Π°Ρ€ с Bouncer. ΠΠ°ΡˆΠΈΡ‚Π΅ външни ΠΎΡ‚Π±ΠΈΠ²Π°Ρ‡ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° TCP Ρ€ΡŠΠΊΠΎΡΡ‚ΠΈΡΠΊΠ°Π½Π΅, Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ ΠΎΡ‚Π±ΠΈΠ²Π°Ρ‡ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Ρ€Π΅Π°Π»Π½ΠΎ обСдиняванС, Π·Π° Π΄Π° Π½Π΅ сС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡŠΠ½ΡˆΠ½ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ Ρ‚Π°Π·ΠΈ конфигурация Π΅ възмоТно ΠΏΠ»Π°Π²Π΅Π½ рСстарт. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° рСстартиратС всички Ρ‚Π΅Π·ΠΈ 18 Bouncers Π΅Π΄ΠΈΠ½ ΠΏΠΎ Π΅Π΄ΠΈΠ½. Но ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° конфигурация Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. БисадминитС, DevOps ΠΈ Ρ…ΠΎΡ€Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ са ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° Ρ‚ΠΎΠ·ΠΈ ΡΡŠΡ€Π²ΡŠΡ€, няма Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ²Π° споразумСниС.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ИзглСТда, Ρ‡Π΅ всички наши подобрСния ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ повишСни към ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π½ΠΎ Bouncer Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅. НапримСр Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° стартиранС Π½Π° няколко PgBouncers Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠΎΡ€Ρ‚ бСшС Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π° ΠΏΡ€Π΅Π΄ΠΈ мСсСц. ΠŸΡ€Π΅Π΄ΠΈ няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ имашС заявка Π·Π° изтСглянС с Ρ‚Π°Π·ΠΈ функция.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

https://www.postgresql.org/docs/current/libpq-cancel.html

https://github.com/pgbouncer/pgbouncer/pull/79

Или ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ Postgres ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π° заявка, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΉΠ½Π°Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³Π° Π²Ρ€ΡŠΠ·ΠΊΠ° Π±Π΅Π· Π½Π΅Π½ΡƒΠΆΠ½ΠΎ удостовСряванС. Но някои ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ просто ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° TCP, Ρ‚.Π΅. ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Ρ‚ ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. Какво Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ Bouncer? Π’ΠΎΠΉ няма Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½ΠΈΡ‰ΠΎ. Π’ΠΎΠΉ Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° изпълнява заявката. Ако стС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½ Π±Ρ€ΠΎΠΉ Π²Ρ€ΡŠΠ·ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са създали Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ с ΠΌΠ°Π»ΠΊΠΈ заявки, Ρ‚ΠΎΠ³Π°Π²Π° простото ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΎΡ‚ Bouncer няма Π΄Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ; Π²ΠΈΠ΅ ΡΡŠΡ‰ΠΎ трябва Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.

Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΎ ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ Π² upstream Π½Π° Bouncer.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И Ρ‚Π°ΠΊΠ° стигнахмС Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, Ρ‡Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ собствСн ΠΏΡƒΠ» Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ бъдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½, Π·Π°ΠΊΡŠΡ€ΠΏΠ΅Π½, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, трябва Π΄Π° бъдС многонишков.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡˆΠΊΠΎΠ²ΠΎΡΡ‚Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ основна Π·Π°Π΄Π°Ρ‡Π°. Врябва Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС справим Π΄ΠΎΠ±Ρ€Π΅ с Π²ΡŠΠ»Π½Π°Ρ‚Π° ΠΎΡ‚ входящи TLS Π²Ρ€ΡŠΠ·ΠΊΠΈ.

Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Machinarium, която Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π΄Π° описва ΠΌΠ°ΡˆΠΈΠ½Π½ΠΈΡ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΊΠ°Ρ‚ΠΎ послСдоватСлСн ΠΊΠΎΠ΄. Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ изходния ΠΊΠΎΠ΄ Π½Π° libpq, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ някои доста слоТни извиквания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΠΈ Π²ΡŠΡ€Π½Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ°Ρ‚: β€žΠžΠ±Π°Π΄ΠΈ ΠΌΠΈ сС ΠΏΠΎ-късно. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ°ΠΌ IO Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π½ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ IO ΠΈΠ·Ρ‡Π΅Π·Π½Π΅, Ρ‰Π΅ ΠΈΠΌΠ°ΠΌ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° процСсора. И Ρ‚ΠΎΠ²Π° Π΅ многостСпСнна схСма. ΠœΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° комуникация ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС описва ΠΎΡ‚ Π΄ΡŠΡ€ΠΆΠ°Π²Π½Π° машина. Много ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΊΠ°Ρ‚ΠΎ β€žΠΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ… Π·Π°Π³Π»Π°Π²ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ с Ρ€Π°Π·ΠΌΠ΅Ρ€ N, сСга Ρ‡Π°ΠΊΠ°ΠΌ N Π±Π°ΠΉΡ‚Π°β€œ, β€žΠΠΊΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ… SYNC ΠΏΠ°ΠΊΠ΅Ρ‚, сСга Ρ‡Π°ΠΊΠ°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Π·Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π°.β€œ Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π΅ доста Ρ‚Ρ€ΡƒΠ΄Π΅Π½, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄, сякаш Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚ΡŠΡ‚ Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ сканиранС. НаправихмС Π³ΠΎ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ вмСсто Π΄ΡŠΡ€ΠΆΠ°Π²Π½Π° машина, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡΡ‚ΡŠΡ‚ описва основния ΠΏΡŠΡ‚ Π½Π° взаимодСйствиС ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ трябва Π΄Π° Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ мСста, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ послСдоватСлността Π½Π° изпълнСниС трябва Π΄Π° бъдС ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° Ρ‡Ρ€Π΅Π· ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΉΠΊΠΈ контСкста Π½Π° изпълнСниС Π½Π° Π΄Ρ€ΡƒΠ³Π° ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° (Π·Π΅Π»Π΅Π½Π° нишка). Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ записвамС Π½Π°ΠΉ-очаквания ΠΏΡŠΡ‚ Π² Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π° Π² Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄ ΠΈ слСд Ρ‚ΠΎΠ²Π° добавямС разклонСния към Π½Π΅Π³ΠΎ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄Π½Π° нишка, която TCP ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΊΡ€ΡŠΠ³ΠΎΠ²ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π° TPC Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ.

Π’ Ρ‚ΠΎΠ·ΠΈ случай всяка клиСнтска Π²Ρ€ΡŠΠ·ΠΊΠ° Π²ΠΈΠ½Π°Π³ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Π΅Π΄ΠΈΠ½ процСсор. И Ρ‚ΠΎΠ²Π° Π²ΠΈ позволява Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π·Π° кСша.

И Π² допълнСниС, Π»Π΅ΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ…ΠΌΠ΅ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π² Π΅Π΄ΠΈΠ½ голям ΠΏΠ°ΠΊΠ΅Ρ‚, Π·Π° Π΄Π° ΠΎΠ±Π»Π΅ΠΊΡ‡ΠΈΠΌ TCP стСка Π½Π° систСмата.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ допълнСниС, ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ…ΠΌΠ΅ Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² смисъл, Ρ‡Π΅ Odyssey, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° CANCEL ΠΈ ROLLBACK Π² случай Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, Ρ‚.Π΅. Π°ΠΊΠΎ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Ρ‡Π°ΠΊΠ° заявка, Odyssey Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΄Π° Π½Π΅ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ исканСто, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡ…Π°Π±ΠΈ Ρ†Π΅Π½Π½ΠΈ рСсурси.

И Π²ΠΈΠ½Π°Π³ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ възмоТно, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ със ΡΡŠΡ‰ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π’ΠΎΠ²Π° избягва нСобходимостта ΠΎΡ‚ прСинсталиранС Π½Π° application_name_add_host. Ако Ρ‚ΠΎΠ²Π° Π΅ възмоТно, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π½ΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° диагностика.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

НиС Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π² интСрСс Π½Π° Yandex.Cloud. И Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ управляван PostgreSQL ΠΈ ΠΈΠΌΠ°Ρ‚Π΅ инсталиран ΠΏΡƒΠ» Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ логичСска рСпликация навън, Ρ‚.Π΅. оставСтС Π½ΠΈ, Π°ΠΊΠΎ искатС, Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ логичСска рСпликация. Bouncer няма Π΄Π° освободи логичСския ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° рСпликация навън.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° настройка Π½Π° логичСска рСпликация.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° физичСска рСпликация навън. Π’ ΠΎΠ±Π»Π°ΠΊΠ°, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ²Π° Π΅ нСвъзмоТно, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ Ρ‰Π΅ Π²ΠΈ Π΄Π°Π΄Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ информация Π·Π° сСбС си. Но във Π²Π°ΡˆΠΈΡ‚Π΅ инсталации, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ физичСска рСпликация Ρ‡Ρ€Π΅Π· ΠΏΡƒΠ»Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ Π² Odyssey, Ρ‚ΠΎΠ²Π° Π΅ възмоТно.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Odyssey ΠΈΠΌΠ° напълно ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ с PgBouncer. ИмамС ΡΡŠΡ‰Π°Ρ‚Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°, която изпълнява ΠΏΠΎΡ‡Ρ‚ΠΈ всички Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Ако Π½Π΅Ρ‰ΠΎ липсва, ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Ρ‚Π΅ заявка Π·Π° изтСглянС ΠΈΠ»ΠΈ ΠΏΠΎΠ½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² GitHub ΠΈ Π½ΠΈΠ΅ Ρ‰Π΅ изпълним Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Но Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ основната функционалност Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° PgBouncer.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. НиС Ρ‰Π΅ Π²ΡŠΡ€Π½Π΅ΠΌ Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π°, ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅Π½Π° ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π©Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ информация Π·Π°Ρ‰ΠΎ Π½Π΅ стС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π° Π½Π΅ само, Ρ‡Π΅ Π½Π΅ стС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² нСя.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’Π°Π·ΠΈ функция Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° Π² случай, Ρ‡Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ 100% ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с PgBouncer. МоТСм Π΄Π° сС Π΄ΡŠΡ€ΠΆΠΈΠΌ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΊΠ°Ρ‚ΠΎ Bouncer, само Π·Π° ΠΏΠΎ-сигурно.

Π΄ΠΈΠ·Π°ΠΉΠ½

Няколко Π΄ΡƒΠΌΠΈ Π·Π° изходния ΠΊΠΎΠ΄ Π½Π° Odyssey.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

https://github.com/yandex/odyssey/pull/66

НапримСр, ΠΈΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ β€žΠŸΠ°ΡƒΠ·Π° / Π’ΡŠΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅β€œ. Π’Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Ако трябва Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Postgres, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ поставитС Π½Π° ΠΏΠ°ΡƒΠ·Π° Π² ΠΏΡƒΠ»Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ pg_upgrade ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° Π²ΡŠΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅. И ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°, сякаш Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ просто сС забавя. Π’Π°Π·ΠΈ функционалност Π½ΠΈ бСшС прСдоставСна ΠΎΡ‚ Ρ…ΠΎΡ€Π° ΠΎΡ‚ общността. ВсС ΠΎΡ‰Π΅ Π½Π΅ Π΅ Π·Π°ΠΌΡ€ΡŠΠ·Π½Π°Π»Π°, Π½ΠΎ скоро всичко Ρ‰Π΅ бъдС. (Π’Π΅Ρ‡Π΅ Π·Π°ΠΌΡ€Π°Π·Π΅Π½ΠΎ)

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

https://github.com/yandex/odyssey/pull/73 - Π²Π΅Ρ‡Π΅ Π·Π°ΠΌΡ€Π°Π·Π΅Π½ΠΈ

Π’ допълнСниС, Π΅Π΄Π½Π° ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² PgBouncer Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° SCRAM Authentication, която ΡΡŠΡ‰ΠΎ Π½ΠΈ бСшС прСдоставСна ΠΎΡ‚ Ρ‡ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Yandex.Cloud. И Π΄Π²Π΅Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ слоТна функционалност ΠΈ са Π²Π°ΠΆΠ½ΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π—Π°Ρ‚ΠΎΠ²Π° Π±ΠΈΡ… искал Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΎΡ‚ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½Π° Odyssey, Π² случай Ρ‡Π΅ искатС Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΊΠΎΠ΄ сСга.

Π˜ΠΌΠ°Ρ‚Π΅ ΠΈΠ·Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Π±Π°Π·Π° Π½Π° Odyssey, която Ρ€Π°Π·Ρ‡ΠΈΡ‚Π° Π½Π° Π΄Π²Π΅ основни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Kiwi Π΅ рСализация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Postgres. ВоСст родният ΠΏΡ€ΠΎΡ‚ΠΎ 3 Π½Π° Postgres Π΅ стандартни ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°Π΄Π½ΠΈΡ‚Π΅ части ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° обмСнят. Π’Π΅ са Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Kiwi.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Machinarium Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° внСдряванС Π½Π° нишки. Малък Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ Machinarium Π΅ написан Π½Π° асСмблСр. Но Π½Π΅ сС Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ΅Ρ‚Π΅, ΠΈΠΌΠ° само 15 Ρ€Π΅Π΄Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ОдисСя Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Има основна машина, Π½Π° която сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. Π’Π°Π·ΠΈ машина изпълнява ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° входящи TCP Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ тяхното разпространСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅.

Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π·Π° няколко ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° нишка ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° изпълнява ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° crone Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π² ΠΏΡƒΠ»Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Odyssey сС тСства с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° стандартния тСстов ΠΏΠ°ΠΊΠ΅Ρ‚ Postgres. ΠŸΡ€ΠΎΡΡ‚ΠΎ изпълнявамС install-check ΠΏΡ€Π΅Π· Bouncer ΠΈ ΠΏΡ€Π΅Π· Odyssey, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π½ΡƒΠ»Π΅Π² div. Има няколко тСста, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π² Bouncer ΠΈ Π² Odyssey.

ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ свои собствСни тСстовС. И Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ тСстовС, Π·Π° Π΄Π° тСствамС Odyssey.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ОсвСн Ρ‚ΠΎΠ²Π°, ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π°ΡˆΠ°Ρ‚Π° каскадна конфигурация, трябва Π΄Π° тСствамС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ: Postgres + Odyssey, PgBouncer + Odyssey, Odyssey + Odyssey, Π·Π° Π΄Π° смС сигурни, Ρ‡Π΅ Π°ΠΊΠΎ Odyssey Π΅ ΠΏΠΎΠΏΠ°Π΄Π½Π°Π» Π² някоя ΠΎΡ‚ частитС Π½Π° каскадата, Ρ‚ΠΎΠΉ ΡΡŠΡ‰ΠΎ всС ΠΎΡ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅.

Π³Ρ€Π΅Π±Π»ΠΎ

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

НиС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Odyssey Π² производството. И няма Π΄Π° Π΅ чСстно, Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ всичко просто Ρ€Π°Π±ΠΎΡ‚ΠΈ. НС, Ρ‚ΠΎΠ²Π° Π΅, Π΄Π°, Π½ΠΎ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ. НапримСр, Π² производството всичко просто Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π°ΡˆΠΈΡ‚Π΅ приятСли ΠΎΡ‚ PostgreSQL Professional Π΄ΠΎΠΉΠ΄ΠΎΡ…Π° ΠΈ ΠΊΠ°Π·Π°Ρ…Π°, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚. Наистина бяха, ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π³ΠΈ. Но бСшС просто.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ΠΊΡ€ΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ ΠΏΡƒΠ»Π΅Ρ€ΡŠΡ‚ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈΠΌΠ° входящи TLS Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ изходящи TLS Π²Ρ€ΡŠΠ·ΠΊΠΈ. А Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ изискват клиСнтски сСртификати ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ сСртификати.

Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΈΡ‚Π΅ Π½Π° Bouncer ΠΈ Odyssey ΡΡŠΡ€Π²ΡŠΡ€ΠΈ сС ΠΏΡ€Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ ΠΎΡ‚ тСхния pcache, Π½ΠΎ клиСнтскитС сСртификати Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΏΡ€Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ ΠΎΡ‚ pcache, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΡˆΠΈΡΡ‚ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌ Odyssey Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка сС сблъсква с производитСлността Π½Π° систСмата ΠΏΡ€ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ сСртификат. Π’ΠΎΠ²Π° бСшС ΠΈΠ·Π½Π΅Π½Π°Π΄Π° Π·Π° нас, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ ΠΌΡƒ ΠΎΡ‚Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° сС ΡΡŠΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»ΡΠ²Π°. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°ΡˆΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, Π½ΠΎ слСд 20 000 входящи Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сС прояви.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Pluggable Authentication Method Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° удостовСряванС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ инструмСнти Π½Π° Lunux. Π’ PgBouncer Ρ‚ΠΎΠ²Π° Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎ Ρ‚Π°ΠΊΡŠΠ² Π½Π°Ρ‡ΠΈΠ½, Ρ‡Π΅ ΠΈΠΌΠ° ΠΎΡ‚Π΄Π΅Π»Π½Π° нишка, която Π΄Π° Ρ‡Π°ΠΊΠ° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΎΡ‚ PAM ΠΈ ΠΈΠΌΠ° основна нишка PgBouncer, която обслуТва Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠΌΠΎΠ»ΠΈ Π΄Π° ТивСят Π² PAM Π½ΠΈΡˆΠΊΠ°Ρ‚Π°.

НиС Π½Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅ Ρ‚ΠΎΠ²Π° ΠΏΠΎΡ€Π°Π΄ΠΈ Π΅Π΄Π½Π° проста ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°. ИмамС ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅ΠΌΠΈ. Π—Π°Ρ‰ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ‚ΠΎΠ²Π°?

Π’ΠΎΠ²Π° Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΠΌΠΎΠΆΠ΅ Π΄Π° създадС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ PAM удостовСряванС ΠΈ Π½Π΅-PAM удостовСряванС, Ρ‚ΠΎΠ³Π°Π²Π° голяма вълна ΠΎΡ‚ PAM удостовСряванС ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π·Π°Π±Π°Π²ΠΈ Π½Π΅-PAM удостовСряванС. Π’ΠΎΠ²Π° Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π½Π΅Ρ‰Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ смС ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠ»ΠΈ. Но Π°ΠΊΠΎ искатС Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π”Ρ€ΡƒΠ³ Ρ€Π΅ΠΉΠΊ бСшС, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΅Π΄Π½Π° нишка, която ΠΏΡ€ΠΈΠ΅ΠΌΠ° всички входящи Π²Ρ€ΡŠΠ·ΠΊΠΈ. И слСд Ρ‚ΠΎΠ²Π° Ρ‚Π΅ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ към работния ΠΏΡƒΠ», ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ TLS Ρ€ΡŠΠΊΠΎΡΡ‚ΠΈΡΠΊΠ°Π½Π΅Ρ‚ΠΎ.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΠΎΡ…Π΅Ρ€Π΅Π½Ρ‚Π½Π° вълна ΠΎΡ‚ 20 000 ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ, всички Ρ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΠ΅Ρ‚ΠΈ. И ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° libpq Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π΄Π° ΠΎΡ‚Ρ‡ΠΈΡ‚Π° Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΈ. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Π΅ 3 сСкунди.

Ако всички Ρ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° влязат Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° влязат Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΎ ΠΎΡ‚ нССкспонСнциалСн ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ ΠΎΠΏΠΈΡ‚.

Π‘Ρ‚ΠΈΠ³Π½Π°Ρ…ΠΌΠ΅ Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, Ρ‡Π΅ смС ΠΊΠΎΠΏΠΈΡ€Π°Π»ΠΈ схСмата ΠΎΡ‚ PgBouncer Ρ‚ΡƒΠΊ с Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ смС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΈ броя Π½Π° TCP Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅, към ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅.

Ако Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ, Π½ΠΎ Ρ‚Π΅ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка нямат Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ€ΡŠΠΊΠΎΡΡ‚ΠΈΡΠΊΠ°Π½Π΅, Π½ΠΈΠ΅ Π³ΠΈ поставямС Π½Π° опашка, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π½Π΅ губят рСсурси Π½Π° процСсора. Π’ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€ΡŠΠΊΠΎΡΡ‚ΠΈΡΠΊΠ°Π½Π΅ Π·Π° всички пристигнали Π²Ρ€ΡŠΠ·ΠΊΠΈ. Но ΠΏΠΎΠ½Π΅ някой Ρ‰Π΅ Π²Π»Π΅Π·Π΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ доста голямо.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π°

Какво Π±ΠΈΡ…Ρ‚Π΅ искали Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π² Odyssey? Какво смС Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π΄Π° Ρ€Π°Π·Π²ΠΈΠ΅ΠΌ сами ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅ ΠΎΡ‚ общността?

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Към август 2019 Π³.

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ изглСТдашС ΠΏΡŠΡ‚Π½Π°Ρ‚Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey ΠΏΡ€Π΅Π· август:

  • Π˜ΡΠΊΠ°Ρ…ΠΌΠ΅ SCRAM ΠΈ PAM удостовСряванС.
  • Π˜ΡΠΊΠ°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΈΠΌ заявкитС Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° готовност.
  • Π‘ΠΈΡ… искал ΠΎΠ½Π»Π°ΠΉΠ½ рСстартиранС.
  • И Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΠ°ΡƒΠ·Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠŸΠΎΠ»ΠΎΠ²ΠΈΠ½Π°Ρ‚Π° ΠΎΡ‚ Ρ‚Π°Π·ΠΈ ΠΏΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π΅ изпълнСна ΠΈ Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚ нас. И Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Ρ€Π΅. Π’Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ΠΊΠ° обсъдим ΠΊΠ°ΠΊΠ²ΠΎ остава ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡ‰Π΅.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠžΡ‚Π½ΠΎΡΠ½ΠΎ прСнасочванС Π½Π° заявки само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ към Ρ€Π΅ΠΆΠΈΠΌ Π½Π° готовност? ИмамС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ просто Ρ‰Π΅ затоплят Π²ΡŠΠ·Π΄ΡƒΡ…Π°, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ заявки. ИмамС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ тях, Π·Π° Π΄Π° осигурим ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅. Π’ случай Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² някой ΠΎΡ‚ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ, Π±ΠΈΡ… искал Π΄Π° Π³ΠΈ Π·Π°Π΅ΠΌΠ° с ΠΏΠΎΠ»Π΅Π·Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°. Въй ΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈ процСсори, Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай рСпликацията няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π² Postgres, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ 10, Π΅ възмоТно Π΄Π° сС посочи session_attrs ΠΏΡ€ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Ρ€ΠΎΠΈΡ‚Π΅ всички хостовС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ във Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ‰ΠΎ ΠΎΡ‚ΠΈΠ²Π°Ρ‚Π΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ: само Π·Π° писанС ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅. И самият Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‰Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅ ΠΏΡŠΡ€Π²ΠΈΡ хост Π² списъка, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΡƒ харСсва Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠΎΠΉΡ‚ΠΎ отговаря Π½Π° изискванията Π½Π° session_attrs.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Но ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° забавянСто Π½Π° рСпликацията. МоТС Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ някаква Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, която Π΅ изостанала Π·Π° Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° услуга. Π—Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ ΠΏΡŠΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ изпълнСниС Π½Π° заявки Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°, Π½ΠΈΠ΅ ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ трябва Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ способността Π½Π° Odyssey Π΄Π° Π½Π΅ сС изпълнява, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½Π°.

Odyssey трябва Π΄Π° посСщава Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π΄Π° ΠΏΠΈΡ‚Π° Π·Π° разстояниСто Π½Π° рСпликация ΠΎΡ‚ основния. И Π°ΠΊΠΎ Π΅ достигнал Π³Ρ€Π°Π½ΠΈΡ‡Π½Π°Ρ‚Π° стойност, Π½Π΅ позволявайтС Π½ΠΎΠ²ΠΈ заявки Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‡Π΅ трябва Π΄Π° ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π° ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ, Π΅Π²Π΅Π½Ρ‚ΡƒΠ°Π»Π½ΠΎ, ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ хост Π·Π° изпълнСниС Π½Π° заявки. Π’ΠΎΠ²Π° Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π±ΡŠΡ€Π·ΠΎ Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈ забавянСто Π½Π° рСпликацията ΠΈ Π΄Π° сС Π²ΡŠΡ€Π½Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, Π·Π° Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ със заявка.

Π’Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Π΄Π°Π΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Π²Π° Ρ€Π°ΠΌΠΊΠ° Π·Π° внСдряванС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. Но, надявам сС, Π½Π΅ 2,5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ ΠΎΡ‚ PgBouncer. Π’ΠΎΠ²Π° Π΅ функцията, която Π±ΠΈΡ… искал Π΄Π° видя Π² Odyssey.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Π’ общността Ρ…ΠΎΡ€Π°Ρ‚Π° поискаха ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π·Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΎΡ‚ΠΎ изявлСниС. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΎ изявлСниС ΠΏΠΎ Π΄Π²Π° Π½Π°Ρ‡ΠΈΠ½Π°. ΠŸΡŠΡ€Π²ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ SQL ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ "ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½". Π—Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ‚Π°Π·ΠΈ SQL ΠΊΠΎΠΌΠ°Π½Π΄Π°, трябва Π΄Π° сС Π½Π°ΡƒΡ‡ΠΈΠΌ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ SQL ΠΎΡ‚ страната Π½Π° Bouncer. Π’ΠΎΠ²Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ излишно, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΅ излишно, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ цСлия Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€. НС ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ всяка SQL ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Но ΠΈΠΌΠ° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΎ изявлСниС Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π½Π° proto3. И Ρ‚ΠΎΠ²Π° Π΅ мястото, ΠΊΠΎΠ³Π°Ρ‚ΠΎ информацията, Ρ‡Π΅ сС създава ΠΈΠ·Π³ΠΎΡ‚Π²Π΅Π½ΠΎ изявлСниС, ΠΈΠ΄Π²Π° Π² структуриран Π²ΠΈΠ΄. И Π±ΠΈΡ…ΠΌΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠΈΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ, Ρ‡Π΅ ΠΏΡ€ΠΈ някаква ΡΡŠΡ€Π²ΡŠΡ€Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π΅ поискал Π΄Π° създадС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ. И Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ транзакцията Π΅ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½Π°, всС ΠΎΡ‰Π΅ трябва Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Но Ρ‚ΡƒΠΊ възниква Π½Π΅ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ някой ΠΊΠ°Π·Π²Π°, Ρ‡Π΅ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ какъв Π²ΠΈΠ΄ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ Π΅ създал ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΈ Π΄Π° сподСлитС ΡΡŠΡ€Π²ΡŠΡ€Π½Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ всички ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са създали Ρ‚Π°Π·ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, Ρ‚.Π΅. ΠΊΠΎΠΉ Π΅ създал Ρ‚Π°ΠΊΡŠΠ² ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

АндрСс Π€Ρ€ΠΎΠΉΠ½Π΄ ΠΊΠ°Π·Π°, Ρ‡Π΅ Π°ΠΊΠΎ ΠΏΡ€ΠΈ вас Π΄ΠΎΠΉΠ΄Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π΅ създал Ρ‚Π°ΠΊΠΎΠ²Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΎ изявлСниС Π² Π΄Ρ€ΡƒΠ³Π° ΡΡŠΡ€Π²ΡŠΡ€Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π³ΠΎ Π·Π° Π½Π΅Π³ΠΎ. Но ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ заявки Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ вмСсто ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π½ΠΎ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ пишС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° взаимодСйствиС с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π±ΠΈ Π±ΠΈΠ»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π°ΠΊΠΎ ΠΌΡƒ сС Π΄Π°Π΄Π΅ просто ΠΌΡ€Π΅ΠΆΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, Π² която ΠΈΠΌΠ° Ρ‚Π°ΠΊΠ°Π²Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° заявка.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

И ΠΎΡ‰Π΅ Π΅Π΄Π½Π° функция, която трябва Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ. Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с PgBouncer. МоТСм Π΄Π° Π²ΡŠΡ€Π½Π΅ΠΌ срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС Π½Π° заявката. Но срСдното Π²Ρ€Π΅ΠΌΠ΅ Π΅ срСдната Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Π² Π±ΠΎΠ»Π½ΠΈΡ†Π°Ρ‚Π°: някои са студСни, Π΄Ρ€ΡƒΠ³ΠΈ са Ρ‚ΠΎΠΏΠ»ΠΈ - срСдно всички са Π·Π΄Ρ€Π°Π²ΠΈ. НС Π΅ вярно.

Врябва Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΠΌ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΈΠ»ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ ΠΈΠΌΠ° Π±Π°Π²Π½ΠΈ заявки, ΠΊΠΎΠΈΡ‚ΠΎ губят рСсурси ΠΈ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ-ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

Най-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ искам вСрсия 1.0 (ВСрсия 1.1 Π²Π΅Ρ‡Π΅ Π΅ пусната). Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ Odyssey Π²Π΅Ρ‡Π΅ Π΅ във вСрсия 1.0rc, Ρ‚.Π΅. ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ Π·Π° освобоТдаванС. И всички ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π±Ρ€ΠΎΠΈΡ…, бяха ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡŠΡ‰Π°Ρ‚Π° вСрсия, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚.

Какво Ρ‰Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° вСрсия 1.0 Π·Π° нас? ΠŸΡƒΡΠΊΠ°ΠΌΠ΅ Odyssey Π² Π½Π°ΡˆΠΈΡ‚Π΅ Π±Π°Π·ΠΈ. Π’ΠΎΠΉ Π²Π΅Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Π½Π°ΡˆΠΈΡ‚Π΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΊΠΎΠ³Π°Ρ‚ΠΎ достигнС Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ 1 000 000 заявки Π² сСкунда, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ вСрсията Π·Π° освобоТдаванС ΠΈ Ρ‚ΠΎΠ²Π° Π΅ вСрсия, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Ρ€Π΅Ρ‡Π΅ 1.0.

Няколко Π΄ΡƒΡˆΠΈ Π² общността поискаха вСрсия 1.0 Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΠ°ΡƒΠ·Π° ΠΈ SCRAM. Но Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ‰Π΅ трябва Π΄Π° пуснСм слСдващата вСрсия Π² производство, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½ΠΈΡ‚ΠΎ SCRAM, Π½ΠΈΡ‚ΠΎ ΠΏΠ°ΡƒΠ·Π°Ρ‚Π° всС ΠΎΡ‰Π΅ Π½Π΅ са ΡƒΠ±ΠΈΡ‚ΠΈ. Но Π½Π°ΠΉ-вСроятно Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‰Π΅ бъдС Ρ€Π΅ΡˆΠ΅Π½ доста Π±ΡŠΡ€Π·ΠΎ.

ΠŸΡŠΡ‚Π½Π° ΠΊΠ°Ρ€Ρ‚Π° Π½Π° Odyssey: ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡ‰Π΅ искамС ΠΎΡ‚ ΠΏΡƒΠ»Π΅Ρ€ Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. АндрСй Π‘ΠΎΡ€ΠΎΠ΄ΠΈΠ½ (2019)

ΠžΡ‡Π°ΠΊΠ²Π°ΠΌ Π²Π°ΡˆΠ°Ρ‚Π° заявка Π·Π° изтСглянС. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π±ΠΈΡ… искал Π΄Π° чуя ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ имаш с Bouncer. НСка Π³ΠΈ обсъдим. МоТС Π±ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΠΌ някои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅.

Π’ΠΎΠ²Π° Π΅ краят Π½Π° моята част, Π±ΠΈΡ… искал Π΄Π° Π²ΠΈ ΠΈΠ·ΡΠ»ΡƒΡˆΠ°ΠΌ. Благодаря Ρ‚ΠΈ!

Π’ΡŠΠΏΡ€ΠΎΡΠΈ

Ако Π·Π°Π΄Π°ΠΌ ΠΌΠΎΠ΅ собствСно ΠΈΠΌΠ΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Ρ‰Π΅ бъдС Π»ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π² обСдиняванСто Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Odyssey?

ОдисСй ΠΈΠ»ΠΈ бияч?

Π’ ОдисСй. Π’ Bouncer сС Ρ…Π²ΡŠΡ€Π»Ρ.

Π©Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚.

И Π°ΠΊΠΎ истинската ΠΌΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ° прСскочи Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ, Ρ‰Π΅ бъдС Π»ΠΈ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½Π°?

НиС Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ всички ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ Π² списъка. НС ΠΌΠΎΠ³Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° Π΄Π°Π»ΠΈ application_name Π΅ Π² Ρ‚ΠΎΠ·ΠΈ списък. Мисля, Ρ‡Π΅ Π³ΠΎ видях Ρ‚Π°ΠΌ. Π©Π΅ Π·Π°Π΄Π°Π΄Π΅ΠΌ всички ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ. Π‘ Π΅Π΄Π½Π° заявка ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΡŠΡ‚ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ инсталирано ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ стартиранС.

Благодаря Ρ‚ΠΈ, АндрСй, Π·Π° Ρ€Π΅ΠΏΠΎΡ€Ρ‚Π°ΠΆΠ°! Π”ΠΎΠ±ΡŠΡ€ Ρ€Π΅ΠΏΠΎΡ€Ρ‚Π°ΠΆ! Π Π°Π΄Π²Π°ΠΌ сС, Ρ‡Π΅ Odyssey сС Ρ€Π°Π·Π²ΠΈΠ²Π° всС ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ с всяка ΠΌΠΈΠ½ΡƒΡ‚Π°. Искам Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌ Ρ‚Π°ΠΊΠ°. Π’Π΅Ρ‡Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ»ΠΈΡ…ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ° с мноТСство ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Odyssey Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Ρ‚.Π΅. Π³Π»Π°Π²Π΅Π½ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½, ΠΈ слСд Ρ‚ΠΎΠ²Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ с Π½ΠΎΠ² Π³Π»Π°Π²Π΅Π½ слСд ΠΎΡ‚ΠΊΠ°Π·.

Π”Π°, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° помня Ρ‚Π°Π·ΠΈ дискусия. Π‘Π΅Π³Π° ΠΈΠΌΠ° няколко Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Но няма ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ тях. ΠžΡ‚ наша страна трябва Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‡Π΅ всС ΠΎΡ‰Π΅ Π΅ ΠΆΠΈΠ² ΠΈ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Π΅ Π΅ Π½Π°ΡΡ‚ΡŠΠΏΠΈΠ» ΠΎΡ‚ΠΊΠ°Π·, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·Π²ΠΈΠΊΠ° pg_recovery. Имам стандартСн Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°, Ρ‡Π΅ Π½Π΅ смС дошли ΠΏΡ€ΠΈ господаря. И Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ някак ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ? ВоСст идСята Π΅ интСрСсна, обсъТда сС. ΠŸΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΡ‰Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ. Ако ΠΈΠΌΠ°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ знаят C, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠ²Π° Π΅ страхотно.

Π’ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ с ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΡΡŠΡ‰ΠΎ Π½ΠΈ интСрСсува, Π·Π°Ρ‰ΠΎΡ‚ΠΎ искамС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ възмоТно Π½Π°ΠΉ-лСсно Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° прилоТСния. Но Ρ‚ΡƒΠΊ Π±ΠΈΡ… искал ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Ρ‚.Π΅. ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π° Π³ΠΎ направя, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ направя Π΄ΠΎΠ±Ρ€Π΅.

Π’ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π΅ ΠΈ Π·Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Оказва сС, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ майстор ΠΈ няколко Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. И Π΅ ясно, Ρ‡Π΅ ΠΏΠΎ-рядко ходят ΠΏΡ€ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈ майстора Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ‚ Ρ€Π°Π·Π»ΠΈΠΊΠΈ. ΠšΠ°Π·Π°Ρ…Ρ‚Π΅, Ρ‡Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Π² Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Ρ‚Π°ΠΊΠ°Π²Π°, Ρ‡Π΅ Π΄Π° Π½Π΅ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈ бизнСса Π²ΠΈ ΠΈ няма Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Ρ‚Π°ΠΌ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ бъдС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ€Π°Π½Π°. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π°ΠΊΠΎ Π½Π΅ стС Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ дълго Π²Ρ€Π΅ΠΌΠ΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° стС Π·Π°ΠΏΠΎΡ‡Π½Π°Π»ΠΈ Π΄Π° Ρ…ΠΎΠ΄ΠΈΡ‚Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ няма Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π²Π΅Π΄Π½Π°Π³Π°. ВоСст, Π°ΠΊΠΎ постоянно ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ ΠΏΡ€ΠΈ главния, Ρ‚ΠΎΠ³Π°Π²Π° ΠΊΠ΅ΡˆΡŠΡ‚ Ρ‚Π°ΠΌ сС загрява, Π½ΠΎ Π² Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π° ΠΊΠ΅ΡˆΡŠΡ‚ изостава ΠΌΠ°Π»ΠΊΠΎ.

Π”Π°, Ρ‚ΠΎΠ²Π° Π΅ вярно. Pcache няма Π΄Π° ΠΈΠΌΠ° Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ искатС, истинският кСш няма Π΄Π° ΠΈΠΌΠ° информация Π·Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ искатС, ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ няма Π΄Π° ΠΈΠΌΠ°Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ заявки, няма Π΄Π° ΠΈΠΌΠ° Π½ΠΈΡ‰ΠΎ.

И ΠΊΠΎΠ³Π°Ρ‚ΠΎ имаш някакъв ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΈ добавиш Π½ΠΎΠ²Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° Ρ‚Π°ΠΌ, Ρ‚ΠΎΠ³Π°Π²Π° Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Ρ‚Ρ€ΡŠΠ³Π½Π΅, всичко Π² Π½Π΅Π³ΠΎ Π΅ Π·Π»Π΅, Ρ‚.Π΅. ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° си кСша.

Π‘Ρ…Π²Π°Π½Π°Ρ… идСята. ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΈΡΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±ΠΈ Π±ΠΈΠ» ΠΏΡŠΡ€Π²ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΡ‚ малък ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΎΡ‚ заявкитС Π·Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π±ΠΈ Π·Π°Ρ‚ΠΎΠΏΠ»ΠΈΠ»ΠΎ кСша. Π“Ρ€ΡƒΠ±ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ условиС Π΄Π° изоставамС ΠΎΡ‚ ΠΊΠ°ΠΏΠΈΡ‚Π°Π½Π° с Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 10 сСкунди. И Ρ‚ΠΎΠ²Π° условиС Π½Π΅ сС Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π² Π΅Π΄Π½Π° вълна, Π° ΠΏΠ»Π°Π²Π½ΠΎ Π·Π° някои ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ.

Π”Π°, ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ‚Π΅Π³Π»ΠΎΡ‚ΠΎ.

Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Ρ€Π° идСя. Но ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅. ΠŸΡŠΡ€Π²ΠΎ трябва Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΈ слСд Ρ‚ΠΎΠ²Π° Ρ‰Π΅ мислим ΠΊΠ°ΠΊ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ. Π’ΠΎΠ²Π° Π΅ страхотна функция Π·Π° ΠΏΠ»Π°Π²Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅.

Nginx ΠΈΠΌΠ° Ρ‚Π°Π·ΠΈ опция slowly start Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π·Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. И Ρ‚ΠΎΠΉ постСпСнно ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ.

Π”Π°, страхотна идСя, Ρ‰Π΅ я ΠΏΡ€ΠΎΠ±Π²Π°ΠΌΠ΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стигнСм Π΄ΠΎ нСя.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€