
ΠΡΠΈΡΠΊΠΈ Π½ΠΈΠ΅ ΠΎΠ±ΠΈΡΠ°ΠΌΠ΅ ΠΈΡΡΠΎΡΠΈΠΈΡΠ΅. Π₯Π°ΡΠ΅ΡΠ²Π° Π½ΠΈ Π΄Π° ΡΠ°Π·ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΌΠΈΠ½Π°Π»ΠΈ ΠΏΠΎΠ±Π΅Π΄ΠΈ, ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ°, ΡΠ΅Π΄Π½Π°Π»ΠΈ ΠΊΡΠ°ΠΉ ΠΎΠ³ΡΠ½Ρ.
ΠΠ½Π΅Ρ Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΡΠ² Π΄Π΅Π½. Π ΠΌΠ°ΠΊΠ°Ρ Π΄Π° Π½Π΅ ΡΡΠ΅ ΠΊΡΠ°ΠΉ ΠΎΠ³ΡΠ½Ρ, ΠΈΠΌΠ°ΠΌΠ΅ ΠΈΡΡΠΎΡΠΈΡ Π·Π° Π²Π°Ρ. ΠΡΡΠΎΡΠΈΡΡΠ° Π·Π° ΡΠΎΠ²Π°, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° Tarantool.
ΠΡΠΊΠΎΠ³Π° Π² Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ βΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°β ΠΈ Π΅Π΄ΠΈΠ½ ΠΎΠ±Ρ βΡΠ°Π²Π°Π½ΠΈΡΠ°β, ΠΊΡΠΌ ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π·ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΈ Π±Π°Π²Π½ΠΎ, Π½ΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°Ρ
Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈ Π½Π°ΡΠ΅ΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. Π ΠΈΠΌΠ°ΡΠ΅ ΡΡΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π°: Π΅Π΄ΠΈΠ½ Π΄Π΅Π½ ΡΠ΅ ΡΠ΅ ΡΠ΄Π°ΡΠΈΠΌ Π² ΡΠΎΠ·ΠΈ ΡΠ°Π²Π°Π½.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ Π½Π°Ρ ΡΠ°ΡΡΠ²Π° ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΎ ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΎ, ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ΠΈΠ΅ Π΄ΠΎ Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ ΠΏΠΎΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ ΠΠ¦. Π ΡΠΎΠ³Π°Π²Π° Π²ΡΠΈΡΠΊΠΎ Π±Π΅ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ.
Π Π΄Π½Π΅ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΡΠΎ CI/CD, K8S ΠΈ Ρ.Π½. Π βΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΡΠΎβ Π²ΡΠ΅ΠΌΠ΅ ΠΎΠ±Π°ΡΠ΅ Π½Π΅ Π½ΠΈ ΡΡΡΠ±Π²Π°Ρ Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΆΠ΄ΠΈ Π΄ΡΠΌΠΈ. ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΌΠ΅ βΡ ΡΠ°Π½ΠΈΠΌΠΊΠ°ΡΠ°β Π² Π±Π°Π·Π°ΡΠ°.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π°ΠΏΡΠ΅Π΄Π²Π°ΡΠ΅, ΠΈ Π±ΡΠΎΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° Π½Π°ΠΏΡΠ΅Π΄Π²Π°ΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ Ρ Π½Π΅Π³ΠΎ, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΠ·ΡΡΡΠ΅Π»Π²Π°ΠΉΠΊΠΈ RPS Π½Π°Π΄Π²ΠΈΡΠ°Π²Π°ΡΠΈ Π½Π°ΡΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠΈ Π½Π°Π²Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°Π·Π°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡ ΠΠΠ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π½Π° ΠΠ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ Π½Π΅ ΠΏΠ°Π΄Π°ΡΠ΅ ΠΏΠΎΠ΄ 90%, Π° RPS ΡΠ΅ Π·Π°Π΄ΡΡΠΆΠ°Ρ Π° Π½Π° Π½ΠΈΠ²ΠΎ 2400. Π ΡΠΎΠ²Π° Π½Π΅ Π±ΡΡ Π° ΠΏΡΠΎΡΡΠΎ ΠΌΠ°Π»ΠΊΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΈΠΈ, Π° Π·Π΄ΡΠ°Π²ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ JOIN, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΠΏΡΠΎΠ±ΡΠ³Π°Ρ ΠΏΡΠ΅Π· ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠΎΠ½Π° Π½Π° Π³ΠΎΠ»ΡΠΌ IO.
ΠΠΎΠ³Π°ΡΠΎ Π½Π° ΡΡΠ΅Π½Π°ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ΡΠ°Π·ΠΏΡΠΎΠ΄Π°ΠΆΠ±ΠΈ ΠΏΠΎ βΠ§Π΅ΡΠ΅Π½ ΠΏΠ΅ΡΡΠΊβ, Π° Wildberries Π³ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° ΠΏΡΡΠ²ΠΈ Π² Π ΡΡΠΈΡ, ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° ΡΡΠ°Π½Π° ΡΡΠ²ΡΠ΅ΠΌ ΡΡΠΆΠ½Π°. ΠΠ°Π»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠ°ΠΊΠΈΠ²Π° Π΄Π½ΠΈ Π½Π°ΡΠ°ΡΡΠ²Π° ΡΡΠΈΠΊΡΠ°ΡΠ½ΠΎ.
ΠΡ
, ΡΠ΅Π·ΠΈ βΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π°β! Π£Π²Π΅ΡΠ΅Π½ ΡΡΠΌ, ΡΠ΅ ΠΈ Π²ΠΈΠ΅ ΡΡΠ΅ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°Π»ΠΈ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π΅ΡΠΎ ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Π΅ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ Ρ Π²Π°Ρ.
ΠΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ - ΠΌΠΎΠ΄Π°ΡΠ° Π·Π°ΡΡΠ³Π° ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅. ΠΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ 5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½ΠΈ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΏΡΠ΅ΠΎΡΠΌΠΈΡΠ»ΠΈΠΌ Π΅Π΄Π½Π° ΠΎΡ ΡΠ΅Π·ΠΈ ΠΌΠΎΠ΄ΠΈ Ρ Π½Π°Π»ΠΈΡΠ½ΠΈΡ ΡΠ°ΠΉΡ Π½Π° .NET ΠΈ MS SQL-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΠΉΡΠΎ Π³ΡΠΈΠΆΠ»ΠΈΠ²ΠΎ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΡΡΠ»Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΡΠ°ΠΌΠΈΡ ΡΠ°ΠΉΡ. Π‘ΡΡ
ΡΠ°Π½ΡΠ²Π°ΡΠ΅ Ρ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ, ΡΠ΅ ΡΠ°Π·ΠΏΠΈΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π΄ΡΠ»ΡΠ³ ΠΈ ΡΡΠ²ΡΠ΅ΠΌ Π½Π΅ Π»Π΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅.
ΠΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ ΠΊΠ°Π·Π²Π°ΠΌ: Β«Π°ΠΊΠΎ Π½Π΅ ΡΡΠ΅ Π½Π°ΡΡΠ·Π°Π»ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°, Π·Π½Π°ΡΠΈ Π½Π΅ ΡΡΠ΅ ΡΠ°ΡΡΠ΅Π»ΠΈ!Β» ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅ Π²Π°ΡΠ΅ΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ, ΠΌΠΎΠ»Ρ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π³ΠΎ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅.
Π Π³ΡΡΠΌΡΡ ΡΠ΄Π°ΡΠΈ
ΠΠ° ΡΠ΅ Π²ΡΡΠ½Π΅ΠΌ ΠΊΡΠΌ Π½Π°ΡΠΈΡ Β«ΠΊΠΎΡΡΠ΅ΡΒ». ΠΠ° Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Β«ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π°ΡΠ°Β» ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ, ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° opensource ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠ°ΡΠΎΡΠΎ, ΠΏΠΎΠ½Π΅ΠΆΠ΅, ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ Π΅ ΠΏΠΎ-Π΅Π²ΡΠΈΠ½ΠΎ. Π ΠΎΡΡΠ·Π½Π°Π²Π°Π½Π΅ΡΠΎ, ΡΠ΅ ΡΠ΅ Π½ΠΈ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°ΠΌΠ΅ (ΠΈ Π΄ΠΎΡΡΠ°), Π±Π΅ΡΠ΅ Π½Π° 100 %. Π’ΠΎΠ³Π°Π²Π° Π²Π΅ΡΠ΅ ΡΠ΅ Π±Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎ Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅ΠΌ Π½Π° ΠΏΠ°Π·Π°ΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ΅Π΄Π½ΠΈ Π΄ΡΡΠΆΠ°Π²ΠΈ ΠΈ Π±ΡΠΎΡΡ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±ΡΠΎΡΡ Π½Π° ΠΏΠΎΡΡΡΠΊΠΈΡΠ΅, Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° Π½Π°ΡΠ°ΡΡΠ²Π° ΠΎΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅.
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈ Π·Π° ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ Π² 80 % ΠΎΡ ΡΠ»ΡΡΠ°ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΡΡ ΡΠ° 99 % ΠΎΡ back office ΡΠΈΡΡΠ΅ΠΌΠΈ, Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ β ΠΎΡ ΠΏΡΠ΅Π΄Π½Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ. ΠΡΡΠ²ΠΎ ΡΠΎΠ²Π° Π·Π°ΡΡΠ³Π°ΡΠ΅ Π΄Π²Π΅ Π²Π°ΠΆΠ½ΠΈ Π·Π° Π½Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ β ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΡΠΎΠΊΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΎΡΡΡΡΠΏΠΊΠΈ ΠΈ ΠΊΡΠΏΠΎΠ½ΠΈ.
ΠΠ° ΠΏΡΠ°Π²Π°ΡΠ° Π½Π° ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅. Π‘Π΅Π³Π° Π΅ ΡΡΡΠ°ΡΠ½ΠΎ Π΄Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, Π½ΠΎ ΠΎΡΠ²Π΅Π½ Π³ΠΎΡΠ΅ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΎΡ Π½Π°ΡΠΈΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ Π±ΡΡ Π° ΠΈΠ·Π½Π΅ΡΠ΅Π½ΠΈ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΠΊΠΎΡΠ½ΠΈΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ·ΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²ΡΡΠΊΠ° ΠΎΡ ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π½Π° ΡΡΡΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½ΠΎ Π² ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΠΆΠΈΠ²Π΅Π΅Ρ Π° Π² Π΅Π΄ΠΈΠ½ βΡΠ΅ΡΠ΅ΠΌΠΎΠΊβ.
ΠΠ»Π°Π½ΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·Π½Π΅ΡΠ΅ΠΌ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π½Π° ΡΠ°ΡΠ΄ΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ·Π½Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΡΠΎΠΊΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π΄ΠΎΠ±ΡΠ° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π°ΠΉ-Π³ΠΎΠ»ΡΠΌΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΏΠΎ RPS ΠΈ Π±Π΅ΡΠ΅ Π½Π°ΠΉ-ΡΡΡΠ΄Π½Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° Π±Π°Π·Π°ΡΠ° (ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ).
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ ΡΠΎΠ΄ΠΈ ΡΡ Π΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π΄ΠΎΠ±ΡΠ΅ ΡΠ΅ ΡΡΡΠ΅ΡΠ°Π²Π° Ρ Tarantool.
ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ Π±ΡΡ Π° ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΡΡ Π΅ΠΌΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π¦ΠΠ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠ°ΠΊΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡΠ°, Π±ΡΡ Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Tarantool ΠΊΠ°ΠΊΡΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ master-master, ΡΠ°ΠΊΠ° ΠΈ master-slave.

ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΠ°ΡΠΈΠ°Π½Ρ 1. Π‘Π΅ΡΠ²ΠΈΠ· Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠ²Π° ΡΠ° 24 ΡΠ°ΡΠ΄ΠΎΠ²Π΅, Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΏΠΎ 2 ΠΈΠ½ΡΡΠ°Π½ΡΠ° (ΠΏΠΎ Π΅Π΄ΠΈΠ½ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΠ¦), Π²ΡΠΈΡΠΊΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΌΠ°ΡΡΡΡ-ΠΌΠ°ΡΡΡΡ.
ΠΠ°Π΄ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ (ΠΠ) ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΡΡΡΠΏΠ²Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π° ΠΠ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ°Π±ΠΎΡΡΡ Ρ Tarantool ΡΡΠ΅Π· Π½Π°ΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Go-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Tarantool. Π’Ρ Π²ΠΈΠΆΠ΄Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΌΠ°ΡΡΠ΅ΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΌΠΎΠ΄Π΅Π»Π° replica set, Π² ΠΊΠΎΠΉΡΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ, circuit breaker ΠΈ rate limit.
Π‘ΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π² ΡΠ°Π·ΡΠ΅Π·Π° Π½Π° ΡΠ°ΡΠ΄ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, round-robin.

ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΠ°ΡΠΈΠ°Π½Ρ 2. Π£ΡΠ»ΡΠ³Π° Π·Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠ΅Π½Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°.
ΠΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ° Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠ΅Π½Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ Π° Π½Π° Π½ΠΎΠ²Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ½ΠΎ ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ 100% ΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π±Π΅ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π° ΠΎΡ ΡΡΠ»ΡΠ³Π° Ρ Tarantool ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ°.
ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΡΠ΄ΡΡΠΆΠ° 4 ΠΌΠ°ΡΡΠ΅ΡΠ°, Π² ΠΊΠΎΠΈΡΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΡΡ ΡΡΠ±ΠΈΡΠ° Π΄Π°Π½Π½ΠΈ, ΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΌΠ°ΡΡΠ΅ΡΠΈ ΡΠ°Π·Π΄Π°Π²Π° Π΄Π°Π½Π½ΠΈ Π½Π° readonly-ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΡΡΠ΅Π· ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ. ΠΡΠ΅ΠΊΠΈ ΠΎΡ ΠΌΠ°ΡΡΠ΅ΡΠΈΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 15 ΡΠ°ΠΊΠΈΠ²Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ.
Π ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΡ Π΅ΠΌΠΈ, ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄Π°Π½Π½ΠΈ (ΠΠ¦), ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²ΡΠΎΡΠΈΡ.
Π‘Π»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π² Tarantool ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π΅ Π΄ΠΎΡΡΠ° Π³ΡΠ²ΠΊΠ°Π²Π° ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Π² runtime. Π Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ max_wal_senders ΠΈ max_replication_slots Π² PostgreSQL Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΡΠ΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π² ΡΠ΅Π΄ΠΈΡΠ° ΡΠ»ΡΡΠ°ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π‘Π£ΠΠ.
Π’ΡΡΡΠ΅ΡΠ΅ ΠΈ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅!
ΠΠ°ΡΠΎ Π½Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ "ΠΊΠ°ΡΠΎ Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΡΠ΅ Ρ ΠΎΡΠ°", Π° ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ Π½Π΅ΡΠΈΠΏΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½? ΠΠΈΠΆΠ΄Π°ΠΉΠΊΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ. ΠΠ½ΠΎΠ·ΠΈΠ½Π° ΠΈΠ·ΠΎΠ±ΡΠΎ ΠΏΡΠ°Π²ΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ Mongo ΠΈ Π³ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π² ΡΡΠΈ Π³Π΅ΠΎ-ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΠ¦.
ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ Π΄Π²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Redis. ΠΡΡΠ²ΠΈΡΡ Π±Π΅ΡΠ΅ ΠΊΠ΅Ρ, Π° Π²ΡΠΎΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. Π‘ Π½Π΅Π³ΠΎ ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π΄ΠΎΡΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΎΡΡΠ°ΡΡΠΈ ΠΏΠΎ Π½Π°ΡΠ° Π²ΠΈΠ½Π°. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° Π΄ΠΎΡΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π±ΡΡ Π° Π² ΠΊΠ»ΡΡΠ° ΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΠΉΡΠ° ΠΌΡ ΡΡΠ°Π²Π°ΡΠ΅ Π·Π»Π΅. Π’Π°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Π² master-slave Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°ΡΠ΅ Ρ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΡΡΠ΅.
Π’ΠΎΠ΅ΡΡ Redis Π΅ Π΄ΠΎΠ±ΡΡ Π·Π° stateless Π·Π°Π΄Π°ΡΠΈ, Π° Π½Π΅ Π·Π° stateful. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅ Π΄Π° ΡΠ΅ΡΠΈΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΡΠ°Π²Π°ΡΠ΅ Π²ΡΠΏΡΠΎΡ Π·Π° key-value ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠΎ ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Redis ΠΈΠΌΠ°ΡΠ΅ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠΌΠ°ΡΠ΅ ΠΎΠΏΠ»Π°ΠΊΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
Π Π°Π·ΠΌΠΈΡΠ»ΡΡ
ΠΌΠ΅ Π·Π° MySQL ΠΈ PostgreSQL. ΠΠΎ ΠΏΡΡΠ²ΠΈΡΡ Π½ΡΠΊΠ°ΠΊ Π½Π΅ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ ΠΏΡΠΈ Π½Π°Ρ, Π° Π²ΡΠΎΡΠΈΡΡ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ Π΅ Π΄ΠΎΡΡΠ° ΡΠ»ΠΎΠΆΠ΅Π½ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΡΠΈ ΡΡΠ»ΡΠ³ΠΈ Π²ΡΡΡ
Ρ Π½Π΅Π³ΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ.
ΠΠΏΠΈΡΠ²Π°Ρ
ΠΌΠ΅ RIAK, Cassandra, Π΄ΠΎΡΠΈ Π³ΡΠ°ΡΠΎΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π½ΠΈΡΠΎΠ²ΠΈ ΠΈ Π½Π΅ ΡΠ° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈ Π·Π° ΡΠΎΠ»Ρ Π½Π° ΠΎΠ±Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ.
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ ΡΠΏΡΡΡ ΠΌΠ΅ Π½Π° Tarantool.
ΠΠ±ΡΡΠ½Π°Ρ ΠΌΠ΅ ΡΠ΅ ΠΊΡΠΌ Π½Π΅Π³ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π±Π΅ΡΠ΅ Π½Π° Π²Π΅ΡΡΠΈΡ 1.6. ΠΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½ΠΈ ΡΠΈΠΌΠ±ΠΈΠΎΠ·Π°ΡΠ° Π½Π° key-value ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΠΌΠ° Π²ΡΠΎΡΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΠ΅ΠΉΡΠΎΠ²Π΅, ΡΠΎΠ²Π° Π΅ ΠΊΠ°ΡΠΎ ΡΠ°Π±Π»ΠΈΡΠΈ, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠΠΎ ΡΠ±ΠΈΠ΅ΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π½Π° Tarantool Π±ΡΡ Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ key-value ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΡΡ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ²ΠΎΡΠΎ ΡΡΡΡΠΊΠΎΡΠ·ΠΈΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΈΠ³ΡΠ° ΡΠΎΠ»Ρ, Π³ΠΎΡΠΎΠ²ΠΎ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π² ΡΠ°ΡΠ°. ΠΠΊΡΠΈΠ²Π½ΠΎ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΠΈ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ ΠΆΠΈΠ²Π΅Π΅Ρ ΠΌΠ΅ Π² ΡΠ°ΡΠ°. Π Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°Π±ΡΠ°Π²ΡΠΌΠ΅ Π·Π° ΠΏΡΠΈΠ»ΠΈΡΠ½Π°ΡΠ° ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ Π±Π΅Π· ΡΠ²Π½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π½Π°ΡΠ°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Ρ Tarantool, ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ Π·Π°Π³ΡΠ±ΠΈΡ ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π½Π΅Π³ΠΎΠ²Π° Π²ΠΈΠ½Π°!
ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π° ΡΡΡΠ΄Π½ΠΎ.
ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π½ΠΈ ΡΡΠ΅ΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ .NET, Π·Π° ΠΊΠΎΠΉΡΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΠΊΠΎΠ½Π΅ΠΊΡΠΎΡ Π·Π° Tarantool. ΠΠ΅Π΄Π½Π°Π³Π° Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Π½Π΅ΡΠΎ Π½Π° Go. Π‘ Lua ΡΡΡΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π΄ΠΎΠ±ΡΠ΅. ΠΠ»Π°Π²Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ³Π°Π²Π° Π±Π΅ΡΠ΅ Ρ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ: Π² .NET Ρ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΎ Π±Π΅ΡΠ΅ ΡΡΠ΄Π΅ΡΠ½ΠΎ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΠΏΠΎΡΡΠ½Π΅ Π² ΡΠ²Π΅ΡΠ° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡ Lua, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°Ρ, ΠΎΡΠ²Π΅Π½ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π΄Π΅Π±ΡΠ³, Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π½ΠΎ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠ΅ ΡΠ°Π·ΠΏΠ°Π΄Π½Π°, ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Ρ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Tarantool. Π’ΡΠΊ ΡΠ°ΡΠ° ΠΏΠΎΠΌΠΎΠ³Π½Π°, Π² ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΡΡΠ΅ΠΏΠ΅Π½ β Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ ΠΈ ΠΊΠΎΠ΄Π°. ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ ΡΠ°ΠΊΠ° ΡΠΈ ΡΠ°ΠΊΠ°.
Π’Π°ΠΊΠ° ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΠΌ ΠΎΠΏΠΈΡ ΠΈ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ Π΄ΠΎΡΡΠΎΠΉΠ½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Tarantool. Π‘ΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ Π² git Π΅ΡΠ°Π»ΠΎΠ½Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π° ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°ΡΠ΅ Π·Π°Π΄Π°ΡΠ°: Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π½ΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΏΠΎΠ³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π΅ΡΠ°Π»ΠΎΠ½Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠ° ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈΡ Π½Π΅ ΠΎΡΠ½Π΅ΠΌΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΠ΅Π΄ΠΌΠΈΡΠ°.
Π’ΠΎΠ²Π° Π±ΡΡ Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π°. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ, ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅Ρ ΠΊΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π½Π° ΡΡΡΠ΅Π΄Π½Π°ΡΠ° ΠΌΠ°ΡΠ° ΠΈ Π΄Π° ΠΏΠΎΠΏΠΈΡΠ°Ρ: βΠΠ°ΠΉ ΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΊΠ°β. Π‘Π»Π΅Π΄ ΠΎΠΊΠΎΠ»ΠΎ ΡΡΠΈΠ΄Π΅ΡΠ΅Ρ ΠΌΠΈΠ½ΡΡΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ Ρ ΡΠ΅Π±. Π‘Π°ΠΌΠΈΡΡ ΡΠΈ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΡΠ΅, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΠΈ ΡΡΠ°ΡΠΈΠΊΡΡ ΡΠΈ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅.
ΠΠ½Π΅Ρ ΡΠ°ΠΊΠ° Π²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ°Π²Π°: ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π»ΠΎΠ³Π²Π°Π½Π΅, Π΄Π° ΠΏΠΎΠΊΡΠΈΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Ρ ΡΠ΅ΡΡΠΎΠ²Π΅, Π΄Π° ΠΏΠΎΡΡΡΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π² ΠΡΠ±Π΅Ρ ΠΈ Ρ.Π½. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅, ΠΌΠ°ΠΊΠ°Ρ ΠΈ ΠΏΠΎ-Π΄ΡΠ»Π³ΠΎ ΠΈ ΠΏΠΎ-ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ.
Π Π°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°Π΄Π΅ΠΉ. ΠΠ°ΠΊ Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ Lua?
ΠΠΌΠ°ΡΠ΅ ΡΠ΅ΡΠΈΠΎΠ·Π½Π° Π΄ΠΈΠ»Π΅ΠΌΠ°: Π½Π° Π½ΡΠΊΠΎΠΈ Π΅ΠΊΠΈΠΏΠΈ Π½Π΅ ΠΈΠΌ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ Π΄Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° Ρ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Lua. Π§Π΅ΡΡΠΎ ΡΠΎΠ²Π° Π±Π΅ ΡΡΠΏΡΠΎΠ²ΠΎΠ΄Π΅Π½ΠΎ Ρ Π½Π΅ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΡΡΠ»ΡΠ³Π°.
Π’ΠΎΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΡ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΎΠΌΡΠ½Π°. Tarantool Π·Π°ΠΏΠΎΡΠ²Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΡΡΡ ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄; ΡΠ°ΠΌ ΠΏΡΠΈΡΡΠΈΠ³Π° ΠΏΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½ΡΠΊΠ°ΠΊΡΠ² DDL, Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ, ΠΈ ΠΊΠΎΠ΄ΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΡΡΠΈΠ½Π΅, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π±ΠΈΠ»ΠΎ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΡΠ° Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π±Π΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π»ΠΈΡΡ Π4: ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π°, Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, ΡΠΏΠΈΡΠ°Π½Π΅ ΡΡΠΊ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΌ. Π£ΠΆΠ°Ρ!
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅Π³Π° ΠΏΠΎ-ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° Π½Π΅ ΠΏΡΠ°Π²ΠΈΠΌ Π½ΠΈΡΠΎ Π½Π° Lua. ΠΡΠΎΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° iproto (Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΡΡΠ²ΡΡΠ°) ΠΈ ΡΠΎΠ²Π° Π΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅, ΡΠ΅ ΡΠΎΠ²Π° Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊ Π½Π° Π·Π½Π°Π½ΠΈΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, Π½ΠΎ ΠΎΡ ΡΠ°Π·ΠΈ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΡΠ»ΠΎΠΆΠ½Π°.
ΠΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ»ΡΠΏΠΎ ΡΠ»Π΅Π΄Π²Π°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΠ½Π΅Ρ Π½ΡΠΌΠ°ΠΌΠ΅ ΡΠ΅ΡΠ½ΠΎ ΠΈ Π±ΡΠ»ΠΎ: ΠΈΠ»ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π° Lua, ΠΈΠ»ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π° Go. ΠΠ΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Ρ, Π·Π° Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
ΠΡΠ΄Π΅ ΡΠ΅Π³Π° ΠΈΠΌΠ° Tarantool?
Tarantool ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠ΅Π½Π° Π½Π° ΡΡΠΎΠΊΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΊΡΠΏΠΎΠ½ΠΈΡΠ΅ Π·Π° ΠΎΡΡΡΡΠΏΠΊΠ°, ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΎΡΠ΅ ΠΊΠ°ΡΠΎ "ΠΡΠΎΠΌΠΎΡΠ°ΠΉΠ·Π΅Ρ". ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ
, Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡ ΠΈΠ·Π»ΠΈΠ·Π° ΠΎΡ ΡΠΏΠΎΡΡΠ΅Π±Π°: Π·Π°ΠΌΠ΅Π½Ρ Ρ Π½ΠΎΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΠ»ΡΠ³Π° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈ ΡΠ΅Π½ΠΈ, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ
Π° Π² "ΠΡΠΎΠΌΠΎΡΠ°ΠΉΠ·Π΅ΡΠ°". ΠΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° ΠΉ Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Lua. ΠΡΠ΅Π΄ΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΡΠ°Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Go, Π·Π°ΡΠΎΡΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΡΡΡΡΠΏΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΡΠ΅ Ρ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π΅ ΠΏΡΠΎΡΠΈΠ»ΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. Π’ΠΎΠ΅ΡΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Wildberries ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ Π² Tarantool, Π° ΡΠ΅ ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ 50 ΠΌΠΈΠ»ΠΈΠΎΠ½Π°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎ ID Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈ Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Ρ Π²ΡΡΠ·ΠΊΠΈ ΠΏΡΠ΅Π· Go ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
ΠΡΠ΅Π΄ΠΈ Π²ΡΠ΅ΠΌΠ΅ Π»ΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎ RPS Π±Π΅ΡΠ΅ "ΠΡΠΎΠΌΠΎΡΠ°ΠΉΠ·Π΅Ρ", Π΄ΠΎΡΡΠΈΠ³Π°ΡΠ΅ Π΄ΠΎ 6000 Π·Π°ΡΠ²ΠΊΠΈ. Π Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠΌΠ°Ρ
ΠΌΠ΅ 50-60 Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π»ΠΈΠ΄Π΅Ρ ΠΏΠΎ RPS ΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 12000. Π ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΡΠΎΠΌΠ½ΠΎ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ID. Π£ΡΠ»ΡΠ³Π°ΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° Π½Π°Π΄ 20 ΠΌΠ°ΡΠΈΠ½ΠΈ, Π½ΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Π·Π°ΡΠΎΡΠΎ ΠΉ ΡΡΠΈΠ³Π°Ρ ΠΌΠΎΡΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° 4-5 ΠΌΠ°ΡΠΈΠ½ΠΈ.
Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΡΠ΅ΡΠΈΠΈ Π΅ Π½Π°ΡΠ° ΠΏΡΡΠ²Π° ΡΡΠ»ΡΠ³Π° Π½Π° vshard ΠΈ Cartridge. ΠΠ°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° vshard ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Cartridge ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π° ΠΎΡ Π½Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠΈΠ»ΠΈΡ, Π½ΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π²ΡΠΈΡΠΊΠΎ ΡΡΠ°Π½Π°.
Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°Π½Π΅ΡΠΈ Π½Π° ΡΠ°ΠΉΡΠ° ΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ Π΅Π΄Π½Π° ΠΎΡ ΠΏΡΡΠ²ΠΈΡΠ΅, ΠΏΡΡΠ½Π°ΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π½Π° Tarantool. Π’Π°Π·ΠΈ ΡΡΠ»ΡΠ³Π° Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½Π° Ρ ΡΠΎΠ²Π°, ΡΠ΅ Π΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΎ 6-7 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π² ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ Π΅ Π±ΠΈΠ»Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ master-master. ΠΠΈΠΊΠΎΠ³Π° Π½ΠΈΡΠΎ Π½Π΅ Π΅ ΡΡΡΠΏΠ΅Π½ΠΎ.
ΠΠΌΠ° ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Tarantool Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±ΡΡΠ·ΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΡΠΈ Π² ΡΠΊΠ»Π°Π΄ΡΠΊΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π° Π±ΡΡΠ·ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ. ΠΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π·Π° ΡΠΎΠ²Π° Redis, Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π°Π΅ΠΌΠ°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΡΡΡΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π² Tarantool.
Π£ΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° Π»ΠΈΡΡΠ° Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠΈ, ΠΌΠΎΠ΄Π½ΠΈΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΊΠΈ ΡΡΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ Tarantool. ΠΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΡΠ»ΡΠ³Π° Π·Π°Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 120 ΠΠ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ΠΎΠ±Π΅ΠΌΠ½Π°ΡΠ° ΡΡΠ»ΡΠ³Π° ΠΎΡ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ key-value ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΡΡΡΠ°, Tarantool Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π·Π³ΡΡΡΠ°Ρ ΠΌΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ»ΡΠ³ΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Lua β ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ ΡΠΏΠΈΡΠ°Ρ Π° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ. ΠΠ΅ ΡΡΠΏΡΡ ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ΠΌ ΡΠΎΠ²Π°, ΠΈ ΡΡΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ Π΄ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΎΡ Lua ΠΈ Go: Π·Π½Π°Π΅ΠΌ ΠΊΡΠ΄Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ Π΅Π·ΠΈΠΊ ΠΈ ΠΊΡΠ΄Π΅ β Π΄ΡΡΠ³.
ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ°
- Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΎΡ Π½ΡΠ»Π°ΡΠ° Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Tarantool
- ΠΠ°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΈΠ·Π±ΠΎΡ Π½Π° Π»ΠΈΠ΄Π΅Ρ Π² Tarantool Cartridge
- Telegram ΠΊΠ°Π½Π°Π» Tarantool Ρ Π½ΠΎΠ²ΠΈΠ½ΠΈ Π·Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°
- ΠΠ±ΡΡΠ΄Π΅ΡΠ΅ Tarantool Π² ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈ-ΡΠ°ΡΠ°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
