ΠΡΡΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° VKontakte Π΅ Π½Π° ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡΠ°; ΡΠ° ΠΊΠ°ΠΆΠ° ΡΠ°ΠΌΠΈΠΎΡ ΠΠ°Π²Π΅Π». Π‘Π΅ ΡΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° ΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° Π·Π½Π°Π°Ρ. ΠΠ° Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ, Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° HighLoad++ ΠΠ°Π²Π΅Π»
ΠΠ»Π΅ΠΊΡΠ΅Ρ ΠΠΊΡΠ»ΠΎΠ²ΠΈΡ (
ΠΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ ΡΠΎ ΡΠ΅ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ backend.
- ΠΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅, ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΌΠ΅Π΄ΠΈΡΠΌΠΈ: Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΡΠ΅Π½ΠΎΡ Π²ΠΎ ΠΆΠΈΠ²ΠΎ, Π°ΡΠ΄ΠΈΠΎ, ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ.
- ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ, Π΄Π½Π΅Π²Π½ΠΈΡΠΈ, ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΊΠ΅ΡΠΎΠ²ΠΈ, CDN, ΠΊΠΎΠΌΠ΅ΡΡΠΈΡΠ°Π»Π΅Π½ RPC ΠΏΡΠΎΡΠΎΠΊΠΎΠ».
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠΎ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ: ΠΏΡΠΈΡΠΈΡΠ½ΠΈ ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ°, ΠΏΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ Π²ΡΡΠΊΠΈ, RSS feed.
- ΠΠΎΠΌΠ°Π³Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ°, ΡΠΈΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π±Π°ΡΠ°Π°Ρ Π½ΡΡΠΊΠ°ΡΠ΅ Π²ΠΎ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ ΠΊΠΎΠ΄.
ΠΠ° ΡΠΎΠ° Π²ΡΠ΅ΠΌΠ΅, ΠΈΠΌΠ°Π² ΡΠ°ΠΊΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. Π‘Π°ΠΊΠ°ΠΌ Π΄Π° Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π°ΠΌ ΠΎΠ²Π° ΠΈΡΠΊΡΡΡΠ²ΠΎ.
ΠΠΏΡΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π‘Γ¨, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ, Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠ° ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΊΠΎΠΈ ΠΏΡΠΈΡΠ°ΡΠ°Π°Ρ Π±Π°ΡΠ°ΡΠ°.
ΠΡΠ΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ
ΠΡΠ΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΡΠ°ΡΠ° Π±Π°ΡΠ°ΡΠ° ΠΏΡΠ΅ΠΊΡ HTTPS, RTMP ΠΈ WSS.
HTTPS - ΠΎΠ²Π° ΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π·Π° Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡΠ΅ Π²Π΅Π±-Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°: vk.com ΠΈ m.vk.com ΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΡΠΈΡΠΈΡΠ°Π»Π½ΠΈ ΠΈ Π½Π΅ΠΎΡΠΈΡΠΈΡΠ°Π»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π½Π° Π½Π°ΡΠΈΠΎΡ API: ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Π³Π»Π°ΡΠ½ΠΈΡΠΈ. ΠΠΌΠ°ΠΌΠ΅ ΠΏΡΠΈΠ΅ΠΌ RTMP-ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π·Π° ΠΏΡΠ΅Π½ΠΎΡΠΈ Π²ΠΎ ΠΆΠΈΠ²ΠΎ ΡΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΈ WSS-Π²ΡΡΠΊΠΈ Π·Π° Streaming API.
ΠΠ° HTTPS ΠΈ WSS Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅ Π²ΡΠ΅Π΄ΠΈ nginx. ΠΠ° Π΅ΠΌΠΈΡΡΠ²Π°ΡΠ°ΡΠ° Π½Π° RTMP, Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈΠ²ΠΌΠ΅ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΈΠ²Π΅, Π½ΠΎ ΡΠΎΠ° Π΅ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΠΎΠΏΡΠ΅Π³ΠΎΡ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ°ΡΠΎΡ. ΠΠ° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΠ°Π°Ρ Π²ΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ ΠΈ Π΄Π΅ΡΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ Π³ΡΡΠΏΠΈ ΡΠ°ΠΊΠ° ΡΡΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π° Π΅Π΄Π΅Π½ ΠΎΠ΄ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅, Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΠΈΠ·Π³ΡΠ±Π°Ρ. ΠΠ° HTTPS ΠΈ WSS, ΠΈΡΡΠΈΡΠ΅ ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ Π³ΠΎ ΡΠΈΡΡΠΈΡΠ°Π°Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠΎΡ ΡΠΎ ΡΠ΅Π» Π΄Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°Ρ Π΄Π΅Π» ΠΎΠ΄ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π²ΡΠ· ΡΠ΅Π±Π΅.
ΠΠ΅ΠΌΠ° Π΄Π° Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ½Π°ΡΠ°ΠΌΡ Π·Π° WSS ΠΈ RTMP, ΡΡΠΊΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡΠ΅ HTTPS Π±Π°ΡΠ°ΡΠ°, ΠΊΠΎΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°Π°Ρ ΡΠΎ Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ°Π΄Π½ΠΈΠ½ΡΠΊΠ°ΡΠ°
ΠΠ°Π΄ ΠΏΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΡΠ°Π½Π° ΠΎΠ±ΠΈΡΠ½ΠΎ ΠΈΠΌΠ° Π·Π°Π΄Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ. Π’ΠΈΠ΅ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ Π±Π°ΡΠ°ΡΠ°ΡΠ° ΡΡΠΎ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π° ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅.
Π’ΠΎΠ° kPHP ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π½Π° ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ HTTP Π΄Π΅ΠΌΠΎΠ½ΠΎΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ HTTPS Π΅ Π²Π΅ΡΠ΅ Π΄Π΅ΡΠΈΡΡΠΈΡΠ°Π½. kPHP Π΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° prefork ΠΌΠΎΠ΄Π΅Π»ΠΈ: Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π³Π»Π°Π²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ, Π΅Π΄Π΅Π½ ΠΊΡΠΏ Π΄Π΅ΡΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΈΠΌ Π΄Π°Π²Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ Π·Π° ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈ ΡΠΈΠ΅ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ°. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π°Ρ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅ΠΊΠΎΠ΅ Π±Π°ΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ, ΡΡΠΊΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ° ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π°Ρ Π½ΠΈΠ²Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΠΏΡΠ²ΠΎΠ±ΠΈΡΠ½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° ΡΠΎ Π½ΡΠ»ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ - Π±Π°ΡΠ°ΡΠ΅ ΠΏΠΎ Π±Π°ΡΠ°ΡΠ΅, Π½Π°ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°.
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅
Π‘ΠΈΡΠ΅ Π½Π°ΡΠΈ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½ΠΈ Π½Π΅ ΡΠ΅ ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±Π°Π·Π΅Π½ Π½Π° ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠ΅ΠΊΠΎΠ΅ Π±Π°ΡΠ°ΡΠ΅. ΠΠΈΠ΅ ΡΠΈΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π³ΡΡΠΏΠΈ: ΠΎΠΏΡΡΠΎ, ΠΌΠΎΠ±ΠΈΠ»Π΅Π½, api, Π²ΠΈΠ΄Π΅ΠΎ, ΠΈΠ½ΡΡΠ΅Π½ΠΈΡΠ°ΡΠ΅... ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π½Π° ΠΏΠΎΡΠ΅Π±Π½Π° Π³ΡΡΠΏΠ° ΠΌΠ°ΡΠΈΠ½ΠΈ Π½Π΅ΠΌΠ° Π΄Π° Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈ. ΠΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠΎ, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΊΠΎΡ ΡΠ»ΡΡΠ° ΠΌΡΠ·ΠΈΠΊΠ° Π½Π΅ΠΌΠ° Π½ΠΈ Π΄Π° Π·Π½Π°Π΅ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅. ΠΠ° ΠΊΠΎΡ Π±Π΅ΠΊΠ΅Π½Π΄ Π΄Π° ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠΈ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ ΠΎΠ΄Π»ΡΡΡΠ²Π° nginx Π½Π° ΠΏΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΡΠ°Π½Π° ΡΠΏΠΎΡΠ΅Π΄ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ°.
ΠΠ΅ΡΡΠΈΡΠΊΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠ΅Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π³ΡΡΠΏΠ°, Π½ΠΈΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ°ΡΡΠ΅ Π½Π° QPS. ΠΠΎΠ·Π°Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ, ΠΈΠΌΠ°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°ΡΠ°ΡΠ°, ΡΠ΅ΠΊΠΎΠ΅ Π±Π°ΡΠ°ΡΠ΅ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° QPS. ΠΠ°ΡΠΎΠ° Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΠΊΠ°ΠΊΠΎ ΡΠ΅Π»ΠΈΠ½Π° - Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ ΠΏΠ΅ΡΡ.
ΠΠΌΠ°ΠΌΠ΅ ΠΈΠ»ΡΠ°Π΄Π½ΠΈΡΠΈ ΡΠ°ΠΊΠ²ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ. Π‘Π΅ΠΊΠΎΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π²ΠΎΠ΄ΠΈ kPHP Π³ΡΡΠΏΠ° Π·Π° Π΄Π° Π³ΠΈ ΡΠ΅ΡΠΈΠΊΠ»ΠΈΡΠ° ΡΠΈΡΠ΅ ΡΠ°Π΄ΡΠ° (Π±ΠΈΠ΄Π΅ΡΡΠΈ kPHP Π΅ ΡΠΎ Π΅Π΄Π½Π° Π½ΠΈΡΠΊΠ°).
Π‘Π΅ΡΠ²Π΅Ρ Π·Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°
CS ΠΈΠ»ΠΈ Content Server Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅. CS Π΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠΎΡ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠΈΡΠ΅ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π²ΠΎ Π·Π°Π΄Π½ΠΈΠ½Π° ΡΡΠΎ ΠΌΡ Π³ΠΈ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ Π²Π΅Π±-ΡΡΠΎΠ½Ρ.
ΠΠΌΠ°ΠΌΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΠ»ΡΠ°Π΄ΠΈ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΊΠΎΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ. ΠΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ°ΠΊΠ°Π°Ρ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, Π° Π½ΠΈΠ΅ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΠΌΠ΅. ΠΠ΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠ΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ pu/pp ΡΠ΅ΡΠ²Π΅ΡΠΈ.
pu/pp
ΠΠΊΠΎ Π³ΠΎ ΠΎΡΠ²ΠΎΡΠΈΠ²ΡΠ΅ ΡΠ°Π·ΠΈΡΠ΅ΡΠΎ ΠΌΡΠ΅ΠΆΠ° Π²ΠΎ VK, Π²ΠΈΠ΄ΠΎΠ²ΡΠ΅ pu/pp.
Π¨ΡΠΎ Π΅ pu/pp? ΠΠΊΠΎ Π·Π°ΡΠ²ΠΎΡΠ°ΠΌΠ΅ Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ Π΄ΡΡΠ³, ΡΠΎΠ³Π°Ρ ΠΏΠΎΡΡΠΎΡΠ°Ρ Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΡΡΠΎ Π±ΠΈΠ» Π·Π°ΡΠ²ΠΎΡΠ΅Π½: Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠ΅ΠΊΡ http://cs100500.userapi.com/path
ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΊΡ ΡΡΠ΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ - http://pu.vk.com/c100500/path
.
ΠΡ Π΅ ΠΈΡΡΠΎΡΠΈΡΠΊΠΎ ΠΈΠΌΠ΅ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π° pp Π΅ ΠΏΡΠΎΠΊΡΠΈ Π·Π° ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ Π΅ Π·Π° ΠΏΡΠΈΠΊΠ°ΡΡΠ²Π°ΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π° Π΄ΡΡΠ³ Π΅ Π·Π° ΠΏΡΠΈΠΊΠ°ΡΡΠ²Π°ΡΠ΅. Π‘Π΅Π³Π° Π½Π΅ ΡΠ΅ Π²ΡΠΈΡΡΠ²Π°Π°Ρ ΡΠ°ΠΌΠΎ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, ΡΡΠΊΡ ΠΈ ΠΈΠΌΠ΅ΡΠΎ Π΅ Π·Π°ΡΡΠ²Π°Π½ΠΎ.
ΠΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ΡΠ΅ Π³ΠΈ ΡΠ΅ΡΠΈΠΈΡΠ΅ Π½Π° HTTPSΠ΄Π° Π³ΠΎ ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ Π½Π° ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ, ΠΊΠΎΠ»ΠΊΡ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΠΎΠ»ΠΊΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ HTTPS.
ΠΠΈΠ΄Π΅ΡΡΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅ ΡΠ΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΎΠ΄ Π½Π°ΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΠΌΠ΅ Π΄Π° Π½Π΅ ΠΈΠΌ Π΄Π°Π²Π°ΠΌΠ΅ βΠ±Π΅Π»ΠΈβ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ IP-Π°Π΄ΡΠ΅ΡΠΈ, ΠΈ Π΄Π°Ρ βΡΠΈΠ²ΠΎβ. ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ Π·Π°ΡΡΠ΅Π΄ΠΈΠ²ΠΌΠ΅ Π½Π° IP Π±Π°Π·Π΅Π½ΠΎΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠ΅ Π³ΠΈ Π·Π°ΡΡΠΈΡΠΈΠΌΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅ ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ - Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π½Π΅ΠΌΠ° IP Π·Π° Π΄Π° Π²Π»Π΅Π·Π΅ΠΌΠ΅ Π²ΠΎ Π½Π΅Π³ΠΎ.
ΠΡΠΏΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΈΡΡΠΎ - Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΈΠΌΠ°Π°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΡΠΈΠ·ΠΈΡΠΊΠ° IP Π°Π΄ΡΠ΅ΡΠ°, Π° Ρ Π°ΡΠ΄Π²Π΅ΡΠΎΡ ΠΏΡΠ΅Π΄ Π½ΠΈΠ² ΠΈΠ·Π±ΠΈΡΠ° ΠΊΠ°Π΄Π΅ Π΄Π° Π³ΠΎ ΠΈΡΠΏΡΠ°ΡΠΈ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ. ΠΠΎΠ΄ΠΎΡΠ½Π° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΎΠΏΡΠΈΠΈ.
ΠΠΎΠ½ΡΡΠΎΠ²Π΅ΡΠ·Π½Π°ΡΠ° ΠΏΠΎΠ΅Π½ΡΠ° Π΅ Π΄Π΅ΠΊΠ° Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΎΠ΄ΡΠΆΡΠ²Π° ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π²ΡΡΠΊΠΈ. ΠΠΊΠΎ ΠΈΠΌΠ° ΠΈΡΡΠ° IP Π°Π΄ΡΠ΅ΡΠ° Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΌΠ°ΡΠΈΠ½ΠΈ - ΡΠΎ ΠΈΡΡ Ρ ΠΎΡΡ: pu.vk.com ΠΈΠ»ΠΈ pp.vk.com, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΎΡ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ ΠΈΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π°ΡΠ°ΡΠ° Π΄ΠΎ Π΅Π΄Π΅Π½ Ρ ΠΎΡΡ. ΠΠΎ, Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΏΡΠΈΡΡΡΠ½ΠΈΠΎΡ HTTP/2, Π²Π΅ΡΡΠ²Π°ΠΌ Π΄Π΅ΠΊΠ° ΠΎΠ²Π° Π²Π΅ΡΠ΅ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎ.
ΠΡΠΈΠ³Π»Π΅Π΄Π½ΠΈΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΡΠΎΠ° ΡΡΠΎ ΠΌΠΎΡΠ° ΠΏΡΠΌΠΏΠ° ΡΠ΅Π»ΠΈΠΎΡ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ, ΠΊΠΎΡ ΠΎΠ΄ΠΈ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, ΠΏΡΠ΅ΠΊΡ Π΄ΡΡΠ³ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΌΠΏΠ°ΠΌΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠΎΡ ΠΏΡΠ΅ΠΊΡ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΌΠΏΠ°ΠΌΠ΅ Π³ΡΡΡ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΈΡΡΠ°ΡΠ° ΡΠ΅ΠΌΠ°. ΠΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ - ΠΏΠΎΡΠ΅Π±Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° Π²ΡΡΠΊΠ° Π·Π° ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° Π²ΠΈΠ΄Π΅ΠΎ. ΠΡΠ΅Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ»Π΅ΡΠ½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΠΊΡΠΈ.
ΠΠ΅ ΡΠ°ΠΊΠ° ΠΎΠ΄Π°ΠΌΠ½Π° Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΏΡΠΎΠΊΡΠΈ. Π‘Π΅Π³Π° ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ ΡΠΈΠ΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π°Π°Ρ ΠΎΠ΄ ΠΎΠ±ΠΈΡΠ½ΠΈΡΠ΅ ΠΈ Π·ΠΎΡΡΠΎ Π΅ ΡΠΎΠ° Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ.
Π‘ΠΎΠ½ΡΠ΅ΡΠΎ
ΠΠΎ ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ 2017 Π³ΠΎΠ΄ΠΈΠ½Π°, Oracle, ΠΊΠΎΡΠ° ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΡΠ° ΠΊΡΠΏΠΈ Sun,
ΠΏΠΏ ΠΈΠΌΠ°ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠ΄Π½Π° IP ΠΏΠΎ Π³ΡΡΠΏΠ° - Π½Π΅Π΅ΡΠΈΠΊΠ°ΡΠ΅Π½ ΠΊΠ΅Ρ. ΠΠ΅ΠΊΠΎΠ»ΠΊΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° IP Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π½Π΅ ΠΏΠΎΡΡΠΎΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π½Π° ΠΊΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ ΠΎΠ΄ΠΈ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ. ΠΠ°ΡΠΎΠ°, Π°ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π΄ΠΎΠ°ΡΠ°Π°Ρ Π·Π° ΠΈΡΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΡΠΎΠ³Π°Ρ Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΊΠ΅Ρ Π½Π° ΠΎΠ²ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π°Π²ΡΡΡΠ²Π° Π²ΠΎ ΠΊΠ΅ΡΠΎΡ Π½Π° ΡΠ΅ΠΊΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ Π½Π΅Π΅ΡΠΈΠΊΠ°ΡΠ½Π° ΡΠ΅ΠΌΠ°, Π½ΠΎ Π½ΠΈΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ.
Π‘Π»Π΅Π΄ΡΡΠ²Π΅Π½ΠΎ - Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌΠ΅ ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° ΠΎΠ²Π°Π° Π³ΡΡΠΏΠ° - ΡΠΈΠ΅ ΠΈΠΌΠ°Π°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° IP Π°Π΄ΡΠ΅ΡΠ°. ΠΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ΄ Π½Π΅ΠΊΠΎΠΈ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π°Ρ ΡΠ°ΠΊΠ²ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ. ΠΠ°ΡΡΠ°Π½Π°Π° ΡΠ°ΠΌΠΎ Π²ΠΎ Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³.
Π‘ΠΎ ΡΠΎΠ½ΡΠ°ΡΠ° Π³ΠΎ ΡΠΌΠ΅Π½ΠΈΠ²ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΡΠ°. Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ anycast ΡΡΡΠΈΡΠ°ΡΠ΅: Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΡΠΈΡΠ°ΡΠ΅, Π±ΠΈΠ»ΠΎΠΊΠ°ΡΡ, Π΄Π΅ΠΌΠΎΠ½ Π·Π° ΡΠ°ΠΌΠΎΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. Π‘Π΅ΠΊΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠΌΠ° ΡΠ²ΠΎΡΠ° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½Π° IP Π°Π΄ΡΠ΅ΡΠ°, Π½ΠΎ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ°. Π‘Γ¨ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ°ΠΊΠΎΠ² Π½Π°ΡΠΈΠ½ ΡΡΠΎ Π°ΠΊΠΎ Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΡΡΠΏΠ΅Π΅, ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ ΡΠΈΡΠΈ Π½ΠΈΠ· Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΎΠ΄ ΠΈΡΡΠ°ΡΠ° Π³ΡΡΠΏΠ°. Π‘Π΅Π³Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π΅ΠΌΠ° ΠΈΠ·Π»ΠΈΡΠ½ΠΎ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅, Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΠ° Π½Π΅ Π±Π΅ΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°ΡΠ°.
ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅ΠΆΠΈΠ½Π°. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΠΌΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΌΠΎΡΠ½ΠΎΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΅Π±Π°, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΡΠΈΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π΄Π° Π³ΠΈ ΠΌΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ΅ΠΆΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ βΡΠΎΠ½ΡΠ°β Π·Π° Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΠΌΠ΅ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π½ΠΈΠ², Π·Π° ΡΠΈΠ΅ Π΄Π° ΡΠ΅ βΠΎΠ΄ΠΌΠΎΡΠ°Ρβ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ.
Π‘ΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΏΠΎ ID Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°. Π‘ΠΌΠ΅ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ Π²ΡΡΠΊΠ° ΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ΡΠΎ: Π½ΠΈΠ΅ ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ° Π΄Π΅Π»ΠΈΠΌΠ΅ ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΎΠ΄Π°Ρ Π΄ΠΎ ΠΈΡΡΠ°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅ΠΊΡ ΠΈΡΡΠΎΡΠΎ βΡΠΎΠ½ΡΠ΅β Π·Π° Π΄Π° ΠΈΠΌΠ°Π°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΊΠ΅Ρ.
ΠΠ΅ΠΎΠ΄Π°ΠΌΠ½Π° ΡΠ° Π»Π°Π½ΡΠΈΡΠ°Π²ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° βΠΠ΅ΡΠ΅Π»ΠΈΠ½Π°β. ΠΠ²Π° Π΅ ΠΎΠ½Π»Π°ΡΠ½ ΠΊΠ²ΠΈΠ· Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΏΡΠ΅Π½ΠΎΡ, ΠΊΠ°Π΄Π΅ Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΎΡ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° ΠΏΡΠ°ΡΠ°ΡΠ°, Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°Π°Ρ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΈΠ·Π±ΠΈΡΠ°ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ. ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΈΠΌΠ° ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°Π°Ρ. ΠΠΎΠΆΠ΅ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π΅ ΡΠΎ Π΅ΠΌΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 100 ΠΈΠ»ΡΠ°Π΄ΠΈ Π»ΡΡΠ΅. Π‘ΠΈΡΠ΅ ΡΠΈΠ΅ ΠΏΠΈΡΡΠ²Π°Π°Ρ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ Π΄ΠΎ ΡΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ, Π° Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° Π΄ΠΎΠ°ΡΠ° ΠΈ Π°Π²Π°ΡΠ°Ρ. ΠΠΊΠΎ 100 ΠΈΠ»ΡΠ°Π΄ΠΈ Π»ΡΡΠ΅ Π΄ΠΎΡΠ΄Π°Ρ ΠΏΠΎ Π΅Π΄Π΅Π½ Π°Π²Π°ΡΠ°Ρ Π½Π° Π΅Π΄Π½ΠΎ βΡΠΎΠ½ΡΠ΅β, ΡΠΎΠ³Π°Ρ ΡΠΎΡ ΠΏΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠΊΠ°Π»Π° Π·Π°Π΄ ΠΎΠ±Π»Π°ΠΊ.
ΠΠ° Π΄Π° Π³ΠΈ ΠΈΠ·Π΄ΡΠΆΠΈΠΌΠ΅ Π½Π°ΠΏΠ»ΠΈΠ²ΠΎΡ Π½Π° Π±Π°ΡΠ°ΡΠ° Π·Π° ΠΈΡΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΡΠΎΠΊΠΌΡ Π·Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠΈΠΏ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° Π²ΠΊΠ»ΡΡΡΠ²Π°ΠΌΠ΅ Π³Π»ΡΠΏΠ°Π²Π° ΡΠ΅ΠΌΠ° ΠΊΠΎΡΠ° ΡΠΈΡΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π½ΠΈΠ· ΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ βΡΠΎΠ½ΡΠ°β Π²ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΡ.
Π‘ΠΎΠ½ΡΠ΅ ΠΎΠ΄ Π²Π½Π°ΡΡΠ΅
ΠΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ Π½Π° nginx, ΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π²ΠΎ RAM ΠΈΠ»ΠΈ Π½Π° Π±ΡΠ·ΠΈ Optane/NVMe Π΄ΠΈΡΠΊΠΎΠ²ΠΈ. ΠΡΠΈΠΌΠ΅Ρ: http://sun4-2.userapi.com/c100500/path
β Π»ΠΈΠ½ΠΊ Π΄ΠΎ βΡΠΎΠ½ΡΠ΅ΡΠΎβ, ΠΊΠΎΠ΅ ΡΠ΅ Π½Π°ΠΎΡΠ° Π²ΠΎ ΡΠ΅ΡΠ²ΡΡΠΈΠΎΡ ΡΠ΅Π³ΠΈΠΎΠ½, Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠ° Π³ΡΡΠΏΠ°. ΠΠ° Π·Π°ΡΠ²ΠΎΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° ΠΏΠ°ΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠ° ΡΠΈΠ·ΠΈΡΠΊΠΈ Π»Π΅ΠΆΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ 100500.
ΠΠ΅Ρ
ΠΠΎΠ΄Π°Π²Π°ΠΌΠ΅ ΡΡΡΠ΅ Π΅Π΄Π΅Π½ ΡΠ°Π·ΠΎΠ» Π½Π° Π½Π°ΡΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠ° ΡΠ΅ΠΌΠ° - ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅.
ΠΠΎΠ΄ΠΎΠ»Ρ Π΅ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΊΠ΅ΡΠΎΠ²ΠΈ, Π³ΠΈ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»Ρ 20. ΠΠ²Π° ΡΠ΅ ΠΌΠ΅ΡΡΠ°ΡΠ° ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ°Π°Ρ ΠΊΠ΅ΡΠΎΠ²ΠΈΡΠ΅ ΠΈ βΡΠΎΠ½ΡΠ°ΡΠ°β, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π³ΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π°Ρ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠΎΡ ΠΏΡΠ΅ΠΊΡ ΡΠ΅Π±Π΅.
ΠΠ²Π° Π΅ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΡΠ°Π»Π½ΠΈ ΡΠΎΠ΄ΡΠΆΠΈΠ½ΠΈ; ΠΎΠ²Π΄Π΅ Π½Π΅ ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π°Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ - ΡΠ°ΠΌΠΎ ΠΌΡΠ·ΠΈΠΊΠ°, Π²ΠΈΠ΄Π΅ΠΎ, ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ.
ΠΠ° Π΄Π° Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΠΈΠΌΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΡ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ, Π½ΠΈΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΠΌΠ΅ BGP ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅. ΠΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½Π° ΠΊΠΎΠΏΠΈΡΠ°, Π½ΠΈΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ geoip Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ° Π½Π°ΡΠ΄Π΅ΠΌΠ΅ IP-Π° ΠΏΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ. Π Π΅Π³ΠΈΠΎΠ½ΠΎΡ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΠΌΠ΅ ΡΠΏΠΎΡΠ΅Π΄ IP Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ. ΠΠΎ ΠΊΠΎΠ΄ΠΎΡ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ - ΠΎΠ½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π΄ΠΎ ΠΊΠΎΠΈ ΡΠΎΡ Π΅ Π½Π°ΡΠ±Π»ΠΈΡΠΊΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΈ.
ΠΠ°ΠΊΠΎ ΡΠΎΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°?
ΠΠ° Π±ΡΠΎΠΈΠΌΠ΅ ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅Π³ΠΈΠΎΠ½. ΠΠΌΠ° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ ΠΎΠ΄ ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈΠΎΡ ΠΊΠ΅Ρ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° - Π³ΠΎ Π·Π΅ΠΌΠ°ΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΏΠ°Ρ ΠΈ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΠΌΠ΅ ΠΎΡΠ΅Π½Π°ΡΠ° ΡΠΎ ΡΠ΅ΠΊΠΎΠ΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅.
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π΄Π΅ΠΌΠΎΠ½ΠΈΡΠ΅ - ΡΡΠ»ΡΠ³ΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ - ΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ°ΡΠ°Π°Ρ Π½Π° API ΠΈ Π²Π΅Π»Π°Ρ: βΠΠ°Ρ ΡΡΠΌ ΡΠ°ΠΊΠΎΠ² ΠΈ ΡΠ°ΠΊΠΎΠ² ΠΊΠ΅Ρ, Π΄Π°ΡΡΠ΅ ΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ Π½Π°ΡΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΠΌΠΎΡΠΎΡ ΡΠ΅Π³ΠΈΠΎΠ½ ΡΡΠΎ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠ΅ Π½Π° ΠΌΠ΅Π½Π΅. β API ΠΈΡΠΏΠΎΡΠ°ΡΡΠ²Π° ΠΊΡΠΏ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ ΡΠ΅ΡΡΠΈΠ½Π³, Π΄Π΅ΠΌΠΎΠ½ΠΎΡ Π³ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ°, Π³ΠΈ Π½ΠΎΡΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅ ΠΈ Π³ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠ²Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΎΠ΄ ΡΠ°ΠΌΡ. ΠΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΡ pu/pp ΠΈ Sun ΠΎΠ΄ ΠΊΠ΅ΡΠΎΡ: ΡΠΈΠ΅ Π²Π΅Π΄Π½Π°Ρ ΡΠ° Π΄Π°Π²Π°Π°Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΡΠ΅ΠΊΡ ΡΠ΅Π±Π΅, Π΄ΡΡΠΈ ΠΈ Π°ΠΊΠΎ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π΅ Π΅ Π²ΠΎ ΠΊΠ΅ΡΠΎΡ, Π° ΠΊΠ΅ΡΠΎΡ ΠΏΡΠ²ΠΎ ΡΠ° ΠΏΡΠ΅Π·Π΅ΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²ΠΎ ΡΠ΅Π±Π΅, Π° ΠΏΠΎΡΠΎΠ° ΠΏΠΎΡΠ½ΡΠ²Π° Π΄Π° ΡΠ° Π²ΡΠ°ΡΠ° Π½Π°Π·Π°Π΄.
ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΏΠΎΠ±Π»ΠΈΡΠΊΠ° Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΈ ΡΠΈΡΠ΅ΡΠ΅ Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΌΠΎ ΠΎΠ΄ ΠΊΠ΅ΡΠΎΡ Π½Π° ΠΠΎΡΠΊΠ²Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 1 Tbit/s Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠΈΡΠΎΡ.
ΠΠΎ, ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ - ΠΊΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ Π³ΡΠΌΠ΅Π½ΠΈ. ΠΠ° ΡΡΠΏΠ΅Ρ ΠΏΠΎΠΏΡΠ»Π°ΡΠ½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°, ΠΏΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ Π½Π΅ΠΌΠ° Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΌΡΠ΅ΠΆΠ° Π·Π° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°ΡΠΈΡΠ΅ ΠΊΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠ΅ 40-50 Gbit/s, Π½ΠΎ ΠΈΠΌΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΡΡΠΎ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π³ΠΎ Π·Π°ΡΠ½ΡΠ²Π° ΡΠ°ΠΊΠΎΠ² ΠΊΠ°Π½Π°Π». Π‘Π΅ Π΄Π²ΠΈΠΆΠΈΠΌΠ΅ ΠΊΠΎΠ½ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π΅Π΄Π½Π° ΠΊΠΎΠΏΠΈΡΠ° Π½Π° ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΡ. Π‘Π΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° ΡΠ΅ Π³ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌΠ΅ Π΄ΠΎ ΠΊΡΠ°ΡΠΎΡ Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ°.
ΠΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°Π²ΠΌΠ΅ ΠΎΠΏΡΡΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
- ΠΡΠ΅Π΄Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΊΠΎΠΈ ΠΏΡΠΈΡΠ°ΡΠ°Π°Ρ Π±Π°ΡΠ°ΡΠ°.
- ΠΠ΅ΠΊΠ°Π½Π΄ΠΎΠ²ΠΈ ΠΊΠΎΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ Π±Π°ΡΠ°ΡΠ°.
- Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠΈ ΡΠ΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΎΠ΄ Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΏΡΠΎΠΊΡΠΈ.
- Π Π΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΊΠ΅ΡΠΎΠ²ΠΈ.
Π¨ΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ²Π° Π½Π° ΠΎΠ²ΠΎΡ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ? Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠ°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΡΠΎΡΠΈ
ΠΠΈΠ΅ Π³ΠΈ Π½Π°ΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ Π½Π΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΡΠΊΡ ΠΌΠΎΡΠΎΡΠΈ - ΠΠΎΡΠΎΡΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ Π½Π΅ΠΌΠ°ΠΌΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΎΠΏΡΡΠΎ ΠΏΡΠΈΡΠ°ΡΠ΅Π½Π° ΡΠΌΠΈΡΠ»Π°.
ΠΠ²Π° Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½Π° ΠΌΠ΅ΡΠΊΠ°. ΠΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠΈ Π·Π°ΡΠΎΠ° ΡΡΠΎ Π²ΠΎ 2008-2009 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΊΠΎΠ³Π° VK ΠΈΠΌΠ°ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ·ΠΈΠ²Π΅Π½ ΡΠ°ΡΡ Π½Π° ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡΠ°, ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π½Π° MySQL ΠΈ Memcache ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. MySQL ΡΠ°ΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΠ°ΡΠ° ΠΈ ΠΊΠΎΡΡΠΌΠΏΠΈΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, ΠΏΠΎ ΡΡΠΎ Π½Π΅ΠΌΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΠΎΡΠ°Π²ΠΈ, Π° Memcache ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½ΠΎ ΡΠ΅ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°.
ΠΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° ΡΓ¨ ΠΏΠΎΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠΌΠ°Π» ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅, ΠΊΠΎΠ΅ Π³ΠΈ ΠΊΠΎΡΡΠΌΠΏΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ ΠΊΠ΅Ρ, ΡΡΠΎ Π·Π°Π±Π°Π²ΡΠ²Π°. ΠΠΎ ΡΠ°ΠΊΠ²ΠΈ ΡΡΠ»ΠΎΠ²ΠΈ, ΡΠ΅ΡΠΊΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠΎΡ ΡΠ°ΡΡΠ΅. ΠΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΊΠΎΠΈ Π±Π΅ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΠΌΠ°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΎΠ²Π°, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΡΠ°ΡΠ½Π° Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎΡΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΠΎ ΡΠΎΠ° Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠ° Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π½Π° ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅. ΠΠ΅ΠΌΠ°ΡΠ΅ ΠΊΡΠΏ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, NoSQL ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠ΅, ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ MySQL, Memcache, PostrgreSQL - ΠΈ ΡΠΎΠ° Π΅ ΡΠΎΠ°.
Π£Π½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½Π° ΡΠ°Π±ΠΎΡΠ°. Π Π°Π·Π²ΠΎΡΠΎΡ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΎΠ΄Π΅Π½ ΠΎΠ΄ Π½Π°ΡΠΈΠΎΡ ΡΠΈΠΌ Π½Π° C ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ ΠΈ ΡΓ¨ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π½Π° Π΄ΠΎΡΠ»Π΅Π΄Π΅Π½ Π½Π°ΡΠΈΠ½. ΠΠ΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° Π½Π° ΠΌΠΎΡΠΎΡΠΎΡ, ΡΠΈΡΠ΅ ΡΠΈΠ΅ ΠΈΠΌΠ°Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, ΠΈΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅, Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π° ΡΠΈΠ³Π½Π°Π»ΠΈΡΠ΅ Π½Π° ΠΈΡΡ Π½Π°ΡΠΈΠ½ ΠΈ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΈΡΡΠΎ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° ΡΠ°Π±ΠΎΡ. Π‘ΠΎ ΡΠ°ΡΡΠΎΡ Π½Π° ΠΌΠΎΡΠΎΡΠΈΡΠ΅, Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈΠΌ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ - Π½Π΅ΠΌΠ° Π·ΠΎΠΎΠ»ΠΎΡΠΊΠ° Π³ΡΠ°Π΄ΠΈΠ½Π° ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠΆΡΠ²Π° ΠΈ ΡΠΈΠ΅ ΠΌΠΎΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° Π½Π°ΡΡΠ°Ρ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π½ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π±ΡΠ·ΠΎ ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅ΡΠ΅ Π³ΠΎ Π½ΠΈΠ²Π½ΠΈΠΎΡ Π±ΡΠΎΡ.
ΠΠΈΠ΄ΠΎΠ²ΠΈ ΠΌΠΎΡΠΎΡΠΈ
Π’ΠΈΠΌΠΎΡ Π½Π°ΠΏΠΈΡΠ° Π΄ΠΎΡΡΠ° ΠΌΠΎΡΠΎΡΠΈ. ΠΠ²Π΅ ΡΠ°ΠΌΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ Π½ΠΈΠ²: ΠΏΡΠΈΡΠ°ΡΠ΅Π», ΡΠΎΠ²Π΅ΡΠΈ, ΡΠ»ΠΈΠΊΠ°, ipdb, Π±ΡΠΊΠ²ΠΈ, ΡΠΏΠΈΡΠΎΡΠΈ, Π΄Π½Π΅Π²Π½ΠΈΡΠΈ, ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ, meowdb, Π²Π΅ΡΡΠΈ, Π½ΠΎΡΡΡΠ°Π΄Π°ΠΌΡΡ, ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°, ΠΏΠ»Π΅ΡΠ»ΠΈΡΡΠΈ, pmemcached, ΠΏΠ΅ΡΠΎΠΊ, ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅, ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅, Π΄ΠΎΠΏΠ°ΡΠ°ΡΠ°, Π·Π°Π΄Π°ΡΠΈ,β¦
ΠΠ° ΡΠ΅ΠΊΠΎΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΡΠ° Π±Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΠΈ Π±Π°ΡΠ°ΡΠ°, ΡΠΈΠΌΠΎΡ C ΠΏΠΈΡΡΠ²Π° Π½ΠΎΠ² ΠΌΠΎΡΠΎΡ. ΠΠΎΡΡΠΎ Π΄Π° Π½Π΅.
ΠΠΌΠ°ΠΌΠ΅ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΌΠΎΡΠΎΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°Π½, ΠΊΠΎΡ Π΅ ΡΠ»ΠΈΡΠ΅Π½ Π½Π° ΠΎΠ±ΠΈΡΠ΅Π½, Π½ΠΎ ΡΠΎ Π΅Π΄Π΅Π½ ΠΊΡΠΏ Π΄ΠΎΠ±ΡΠΈΡΠ΅, ΠΈ ΠΊΠΎΡ Π½Π΅ ΡΡΠΏΠΎΡΡΠ²Π°. ΠΠ΅ ClickHouse, Π½ΠΎ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ. ΠΠΎΡΡΠ°ΠΏΠ½ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΎ pmemcached - ΠΠ°Π»ΠΈ ΡΠΏΠΎΡΠ΅Π½ ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΈΡΠ°Π½, ΠΊΠΎΡ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΡ, Π·Π³ΠΎΡΠ° Π½Π° ΡΠΎΠ°, ΠΎΡΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΡΠ²Π° Π²ΠΎ RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ Π³ΡΠ±Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅. ΠΠΎΡΡΠΎΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΡΠΎΡΠΈ Π·Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ: ΡΠ΅Π΄ΠΈΡΠΈ, ΡΠΏΠΈΡΠΎΡΠΈ, ΡΠ΅ΡΠΎΠ²ΠΈ - ΡΓ¨ ΡΡΠΎ Π±Π°ΡΠ° Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ»Π°ΡΡΠ΅ΡΠΈ
ΠΠ΄ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠ΄, Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π° Π·Π° ΠΌΠΎΡΠΎΡΠΈ ΠΈΠ»ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π΅Π½ΡΠΈΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΠΎΠ΄ΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΡΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈ, ΡΠΎ Π³ΡΡΠΏΠΈ ΠΌΠΎΡΠΎΡΠΈ - Π΅Π΄Π΅Π½ ΡΠΈΠΏ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ. ΠΠ° ΡΠ΅ΡΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΡΡΠΎΠΈ ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΈΡΠ°Π½ ΠΊΠ»Π°ΡΡΠ΅Ρ - ΡΠΎΠ° Π΅ ΡΠ°ΠΌΠΎ Π³ΡΡΠΏΠ° ΠΌΠ°ΡΠΈΠ½ΠΈ.
ΠΠΎΠ΄ΠΎΡ Π²ΠΎΠΎΠΏΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° Π·Π½Π°Π΅ ΡΠΈΠ·ΠΈΡΠΊΠ°ΡΠ° Π»ΠΎΠΊΠ°ΡΠΈΡΠ°, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° ΠΈΠ»ΠΈ Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈ. Π’ΠΎΡ ΠΎΠ΄ΠΈ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
ΠΠ° Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΎΠ²Π°, ΡΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΡΡΠ΅ Π΅Π΄Π΅Π½ Π΅Π½ΡΠΈΡΠ΅Ρ ΠΊΠΎΡ ΡΠ΅ Π½Π°ΠΎΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΊΠΎΠ΄ΠΎΡ ΠΈ ΠΌΠΎΡΠΎΡΠΈΡΠ΅ - ΠΏΡΠΎΠΊΡΠΈ.
RPC ΠΏΡΠΎΠΊΡΠΈ
ΠΡΠΎΠΊΡΠΈ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π°Π²ΡΠΎΠ±ΡΡ, Π½Π° ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅Π»ΠΈΠΎΡ ΡΠ°ΡΡ. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ΠΌΠ° ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π·Π° ΡΡΠ»ΡΠ³Π° β Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ°, ΠΏΠΎΡΡΠΎΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π·Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠΊΡΠΈ, ΠΊΠΎΡ ΡΠ° Π·Π½Π°Π΅ Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠΈΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈ ΠΈ ΡΠΈΡΠ΅ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΎΠ²ΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ. ΠΠ²Π° Π΅ ΠΎΠ½Π° ΡΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²Π°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅.
ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π²ΠΎΠΎΠΏΡΡΠΎ Π½Π΅ ΠΈΠΌ Π΅ Π³ΡΠΈΠΆΠ° ΠΊΠΎΠ»ΠΊΡ, ΠΊΠ°Π΄Π΅ ΠΈ ΡΡΠΎ ΡΠΈΠ½ΠΈ - ΡΠΈΠ΅ ΡΠ°ΠΌΠΎ ΠΎΠ΄Π°Ρ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ. ΠΠ²Π° Π½ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ. ΠΠΎΠ³Π° ΠΏΡΠΈΠΌΠ° Π±Π°ΡΠ°ΡΠ΅, ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΡ Π³ΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΡΠ²Π° Π±Π°ΡΠ°ΡΠ΅ΡΠΎ, Π·Π½Π°Π΅ΡΡΠΈ ΠΊΠ°Π΄Π΅ - ΡΠΎΠ° ΡΠ°ΠΌ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°.
ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠΎΠΊΡΠΈ Π΅ ΡΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΎΡΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΊΠΎ Π½Π΅ΠΊΠΎΡ ΠΌΠΎΡΠΎΡ ΡΡΠΏΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π½Π΅, ΡΠΎΠ³Π°Ρ ΠΏΡΠΎΠΊΡΠΈΡΠΎ Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ° ΠΎΠ²Π° ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ. ΠΠ²Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΈΡΡΠ΅ΠΊΠΎΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ - ΠΊΠΎΠ΄ΠΎΡ Π½Π΅ ΡΠ΅ΠΊΠ° ΠΌΠΎΡΠΎΡΠΎΡ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ, ΡΡΠΊΡ ΡΠ°Π·Π±ΠΈΡΠ° Π΄Π΅ΠΊΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π΅ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠΈΠ½Π°ΠΊΡ. ΠΠΎΠ΄ΠΎΡ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π·Π° ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ΠΊΠ°ΠΊΠ²ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎ ΠΌΠΎΡΠΎΡ. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π΅ΡΠ΅ ΠΎΠ΄Π»ΡΡΠ΅Π½ΠΎ Π΄Π° Π½Π΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π½Π°ΡΠΈΠΎΡ Π³ΠΎΡΠΎΠ² rpc-ΠΏΡΠΎΠΊΡΠΈ, ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΠΌΠΎΡΠΎΡΠΈ, ΡΡΠΊΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ Π·Π° Π·Π°Π΄Π°ΡΠ°ΡΠ°.
ΠΠ° MySQL, ΠΊΠΎΡ ΡΓ¨ ΡΡΡΠ΅ Π³ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠ²Π΄Π΅-ΠΎΠ½Π΄Π΅, ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ db-proxy, Π° Π·Π° ClickHouse - ΠΡΡΠ° Π·Π° ΠΌΠ°ΡΠΈΡΠ°.
ΠΠΏΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π²Π°ΠΊΠ°. ΠΠΌΠ° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ, ΡΠ°Π±ΠΎΡΠΈ kPHP, Go, Python - Π²ΠΎΠΎΠΏΡΡΠΎ, ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΠ΄ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» RPC. ΠΠΎΠ΄ΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π½Π° RPC ΠΏΡΠΎΠΊΡΠΈ - ΡΠ΅ΠΊΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ° ΠΊΠΎΠ΄ΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠ²ΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΡΠΎΠΊΡΠΈ. ΠΠΎ Π±Π°ΡΠ°ΡΠ΅, ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΡ ΡΠ°Π·Π±ΠΈΡΠ° ΠΊΠ°Π΄Π΅ Π΄Π° ΠΎΠ΄ΠΈ.
ΠΠΊΠΎ Π΅Π΄Π΅Π½ ΠΌΠΎΡΠΎΡ ΡΠ°ΠΊΠ° Π΄Π° ΠΎΠ΄ΠΈ Π²ΠΎ Π΄ΡΡΠ³, Π΄ΡΡΠΈ ΠΈ Π°ΠΊΠΎ Π΅ ΡΠΎΡΠ΅Π΄, ΡΠΎΡ ΠΎΠ΄ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΠΊΡΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠΎΡΠ΅Π΄ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π²ΠΎ Π΄ΡΡΠ³ ΡΠ΅Π½ΡΠ°Ρ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎΡΠΎΡΠΎΡ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ° Π½Π° ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ Π½Π° Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π½Π΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎ ΠΎΡΠ²Π΅Π½ ΡΠ°ΠΌΠΈΠΎΡ ΡΠ΅Π±Π΅ - ΠΎΠ²Π° Π΅ Π½Π°ΡΠ΅ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΎ ΡΠ΅ΠΊΠ°ΠΊΠΎ ΠΈΠΌΠ° ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ :)
ΠΡΠΈΠΌΠ΅Ρ Π·Π° TL-ΡΠ΅ΠΌΠ° ΡΠΏΠΎΡΠ΅Π΄ ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΈΡΠ΅ ΠΌΠΎΡΠΎΡΠΈ.
memcache.not_found = memcache.Value;
memcache.strvalue value:string flags:int = memcache.Value;
memcache.addOrIncr key:string flags:int delay:int value:long = memcache.Value;
tasks.task
fields_mask:#
flags:int
tag:%(Vector int)
data:string
id:fields_mask.0?long
retries:fields_mask.1?int
scheduled_time:fields_mask.2?int
deadline:fields_mask.3?int
= tasks.Task;
tasks.addTask type_name:string queue_id:%(Vector int) task:%tasks.Task = Long;
ΠΠ²Π° Π΅ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΈΡ Π½Π°ΡΠ±Π»ΠΈΠ·ΠΎΠΊ Π°Π½Π°Π»ΠΎΠ³ Π΅ ΠΏΡΠΎΡΠΎΠ±ΡΡ. Π¨Π΅ΠΌΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΠΏΠΈΡΡΠ²Π° ΠΈΠ·Π±ΠΎΡΠ½ΠΈ ΠΏΠΎΠ»ΠΈΡΠ°, ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ - Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΊΠ°Π»Π°ΡΠΈ ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ°. Π‘Γ¨ ΡΠ°Π±ΠΎΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ».
RPC ΠΏΡΠ΅ΠΊΡ TL ΠΏΡΠ΅ΠΊΡ TCP/UDPβ¦ UDP?
ΠΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» RPC Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ°ΡΠ° Π·Π° ΠΌΠΎΡΠΎΡ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ° TL. Π‘Π΅ΡΠΎ ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ TCP/UDP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ°. TCP Π΅ ΡΠ°Π·Π±ΠΈΡΠ»ΠΈΠ², Π½ΠΎ Π·ΠΎΡΡΠΎ ΡΠ΅ΡΡΠΎ Π½ΠΈ ΡΡΠ΅Π±Π° UDP?
UDP ΠΏΠΎΠΌΠ°Π³Π° ΠΈΠ·Π±Π΅Π³Π½ΡΠ²Π°ΡΡΠ΅ Π³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΡ Π²ΡΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅. ΠΠΊΠΎ ΡΠ΅ΠΊΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠΌΠ° RPC ΠΏΡΠΎΠΊΡΠΈ ΠΈ, Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ΄ΠΈ Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΌΠΎΡΠΎΡ, ΡΠΎΠ³Π°Ρ ΠΈΠΌΠ° Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΠ»ΡΠ°Π΄ΠΈ TCP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΌΠ° ΡΠΎΠ²Π°Ρ, Π½ΠΎ Π΅ Π±Π΅ΡΠΊΠΎΡΠΈΡΠ΅Π½. ΠΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° UDP ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ ΠΏΠΎΡΡΠΎΠΈ.
ΠΠ΅ΠΌΠ° ΠΈΠ·Π»ΠΈΡΠ½ΠΎ TCP ΡΠ°ΠΊΡΠ²Π°ΡΠ΅. ΠΠ²Π° Π΅ ΡΠΈΠΏΠΈΡΠ΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: ΠΊΠΎΠ³Π° ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π° Π½ΠΎΠ² ΠΌΠΎΡΠΎΡ ΠΈΠ»ΠΈ Π½ΠΎΠ² ΡΠ΅ΡΠ²Π΅Ρ, ΠΌΠ½ΠΎΠ³Ρ TCP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΠΈ ΡΠ΅ Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΎΠ΄Π΅Π΄Π½Π°Ρ. ΠΠ° ΠΌΠ°Π»ΠΈ Π»Π΅ΡΠ½ΠΈ Π±Π°ΡΠ°ΡΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, UDP Π½ΠΎΡΠΈΠ²ΠΎΡΡ, ΡΠ΅Π»Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΊΠΎΠ΄ΠΎΡ ΠΈ ΠΌΠΎΡΠΎΡΠΎΡ Π΅ Π΄Π²Π° UDP ΠΏΠ°ΠΊΠ΅ΡΠΈ: Π΅Π΄Π½ΠΈΠΎΡ Π»Π΅ΡΠ° Π²ΠΎ Π΅Π΄Π΅Π½ ΠΏΡΠ°Π²Π΅Ρ, Π²ΡΠΎΡΠΈΠΎΡ Π²ΠΎ Π΄ΡΡΠ³ΠΈΠΎΡ. ΠΠ΄Π½ΠΎ ΠΊΡΡΠΆΠ½ΠΎ ΠΏΠ°ΡΡΠ²Π°ΡΠ΅ - ΠΈ ΠΊΠΎΠ΄ΠΎΡ Π΄ΠΎΠ±ΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ ΠΎΠ΄ ΠΌΠΎΡΠΎΡΠΎΡ Π±Π΅Π· ΡΠ°ΠΊΡΠ²Π°ΡΠ΅.
ΠΠ°, ΡΠ΅ΡΠΎ ΡΠΎΠ° ΡΠ°ΠΌΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΡΠΎ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π» ΠΏΡΠΎΡΠ΅Π½Ρ Π½Π° Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅Π΅ΠΌΠΈΡΡΠ²Π°ΡΠ° ΠΈ ΡΠ°ΡΠΌΠ°ΡΡΠΈ, Π½ΠΎ Π°ΠΊΠΎ ΠΈΠ·Π³ΡΠ±ΠΈΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρ, ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΡΠΊΠΎΡΠΎ TCP, ΡΡΠΎ Π½Π΅ Π΅ ΠΏΡΠΎΡΠΈΡΠ°Π±ΠΈΠ»Π½ΠΎ. ΠΠΈΠ΅ Π½Π΅ Π²ΠΎΠ·ΠΈΠΌΠ΅ UDP Π½ΠΈΠ· ΠΎΠΊΠ΅Π°Π½ΠΈΡΠ΅.
ΠΠΌΠ°ΠΌΠ΅ ΠΈΠ»ΡΠ°Π΄Π½ΠΈΡΠΈ ΡΠ°ΠΊΠ²ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π° ΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΠΈΡΡΠ°: Π½Π° ΡΠ΅ΠΊΠΎΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΡΠΎΡΠΈ. Π’ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅ΡΠ΅ΠΆΠ½ΠΎ ΡΠΎ Π΅Π΄Π½Π° Π½ΠΈΡΠΊΠ° Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ±ΡΠ·ΠΎ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅, ΠΈ ΡΠ΅ Π΄Π΅Π»Π°Ρ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΡΠΎ Π΅Π΄Π½Π° Π½ΠΈΡΠΊΠ°. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π΅ΠΌΠ°ΠΌΠ΅ Π½ΠΈΡΡΠΎ ΠΏΠΎΡΠΈΠ³ΡΡΠ½ΠΎ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΌΠΎΡΠΎΡΠΈ, Π° ΠΌΠ½ΠΎΠ³Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²Π΅ΡΡΠ²Π° Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ
ΠΠΎΡΠΎΡΠΈΡΠ΅ ΠΏΠΈΡΡΠ²Π°Π°Ρ Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΠ²ΠΈ. ΠΠΈΠ½Π»ΠΎΠ³ Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° ΠΊΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΡΠ° ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π° Π½Π°ΡΡΠ°Π½ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅. ΠΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΡΠΎΠ° ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΠΏΠΎΠΈΠ½Π°ΠΊΡ: Π±ΠΈΠ½Π°ΡΠ΅Π½ Π΄Π½Π΅Π²Π½ΠΈΠΊ,
ΠΠ° Π΄Π° ΡΠ΅ ΡΠΏΡΠ΅ΡΠΈ ΠΌΠΎΡΠΎΡΠΎΡ Π΄Π° Π³ΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠΈΡΡΠ²Π° ΡΠ΅Π»ΠΈΠΎΡ Π±ΠΈΠ½Π»ΠΎΠ³ ΠΌΠ½ΠΎΠ³Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅, ΠΏΠΈΡΡΠ²Π°Π°Ρ ΠΌΠΎΡΠΎΡΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ - ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°. ΠΠΊΠΎ ΡΡΠ΅Π±Π°, ΠΏΡΠ²ΠΎ ΡΠΈΡΠ°Π°Ρ ΠΎΠ΄ Π½Π΅Π³ΠΎ, Π° ΠΏΠΎΡΠΎΠ° Π·Π°Π²ΡΡΡΠ²Π°Π°Ρ ΡΠΎ ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ Π±ΠΈΠ½Π»ΠΎΠ³. Π‘ΠΈΡΠ΅ Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΠ²ΠΈ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ - ΡΠΏΠΎΡΠ΅Π΄ ΡΠ΅ΠΌΠ°ΡΠ° TL, ΡΠ°ΠΊΠ° ΡΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ ΠΏΠΎΠ΄Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π΄Π° Π³ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π°Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΈ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π°Π»Π°ΡΠΊΠΈ. ΠΠ΅ΠΌΠ° ΡΠ°ΠΊΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΡΠ½ΠΈΠΌΠΊΠΈ. ΠΠΎΡΡΠΎΠΈ ΠΎΠΏΡΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ΡΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΡΠΈΡΠ° ΡΠ»ΠΈΠΊΠ° Π΅ int, ΠΌΠ°Π³ΠΈΡΠ° Π½Π° ΠΌΠΎΡΠΎΡΠΎΡ ΠΈ ΠΊΠΎΠ΅ ΡΠ΅Π»ΠΎ Π½Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ Π·Π° Π½ΠΈΠΊΠΎΠ³ΠΎ. ΠΠ²Π° Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΠΌΠΎΡΠΎΡΠΎΡ ΡΡΠΎ ΡΠ° ΡΠ½ΠΈΠΌΠΈΠ» ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ°.
ΠΠ°Ρ Π±ΡΠ·ΠΎ ΡΠ΅ Π³ΠΎ ΠΎΠΏΠΈΡΠ°ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°. ΠΠΌΠ° ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠΎΡΠΎΡΠΎΡ. ΠΡΠ²ΠΎΡΠ° Π½ΠΎΠ² ΠΏΡΠ°Π·Π΅Π½ Π±ΠΈΠ½Π»ΠΎΠ³ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΏΠΈΡΡΠ²Π° Π½Π°ΡΡΠ°Π½ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π½Π΅Π³ΠΎ.
ΠΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ°Π²Π° ΡΠ°ΠΌΠΈΠΎΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ½ΠΈΠΌΠΊΠ°, ΠΈΠ»ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π° ΡΠΈΠ³Π½Π°Π». Π‘Π΅ΡΠ²Π΅ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π²Π° Π½ΠΎΠ²Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΡΠ° Π·Π°ΠΏΠΈΡΡΠ²Π° ΡΠ΅Π»Π°ΡΠ° Π½Π΅ΡΠ·ΠΈΠ½Π° ΡΠΎΡΡΠΎΡΠ±Π° Π²ΠΎ Π½Π΅Π°, ΡΠ° Π΄ΠΎΠ΄Π°Π²Π° ΡΠ΅ΠΊΠΎΠ²Π½Π°ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π±ΠΈΠ½Π»ΠΎΠ³ - ΠΎΡΡΠ΅Ρ - Π½Π° ΠΊΡΠ°ΡΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π° ΠΏΠΎΠ½Π°ΡΠ°ΠΌΡ Π΄Π° ΠΏΠΈΡΡΠ²Π°. ΠΠΎΠ² Π±ΠΈΠ½Π»ΠΎΠ³ Π½Π΅ Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½.
ΠΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π° ΠΌΠΎΡΠΎΡΠΎΡ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°, ΡΠ΅ ΠΈΠΌΠ° ΠΈ Π±ΠΈΠ½Π»ΠΎΠ³ ΠΈ ΡΠ»ΠΈΠΊΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΡ. ΠΠΎΡΠΎΡΠΎΡ ΡΠ° ΡΠΈΡΠ° ΡΠ΅Π»Π°ΡΠ° ΡΠ»ΠΈΠΊΠ° ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΈΠ³Π½ΡΠ²Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π²ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΡΠΎΡΠΊΠ°.
ΠΠ° ΡΠΈΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡΠ°ΡΠ° ΡΡΠΎ Π±ΠΈΠ»Π° Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ ΠΊΠΎΠ³Π° Π±ΠΈΠ»Π° ΠΊΡΠ΅ΠΈΡΠ°Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ° ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΡ.
ΠΠΎ ΡΠΈΡΠ° ΠΊΡΠ°ΡΠΎΡ Π½Π° Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΡ Π·Π° Π΄Π° ΡΠ° Π΄ΠΎΠ±ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π° Π΄Π° ΠΏΠΈΡΡΠ²Π° ΠΏΠΎΠ½Π°ΡΠ°ΠΌΠΎΡΠ½ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ. ΠΠ²Π° Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π° ΡΠ΅ΠΌΠ°; ΡΠΈΡΠ΅ Π½Π°ΡΠΈ ΠΌΠΎΡΠΎΡΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΏΠΎΡΠ΅Π΄ Π½Π΅Π°.
Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ
ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ Π½Π°ΡΠ°ΡΠ° Π·Π°ΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΈΠ·ΡΠ°Π²ΠΈ β Π²ΠΎ Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΡ Π½Π΅ ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, ΡΡΠΊΡ ΠΈΠΌΠ΅Π½ΠΎ Π±Π°ΡΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π°. ΠΠ½ΠΎΠ³Ρ ΡΠ»ΠΈΡΠ½ΠΎ Π½Π° ΠΎΠ½Π° ΡΡΠΎ Π΄ΠΎΠ°ΡΠ° ΠΏΡΠ΅ΠΊΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΡΠ°ΠΌΠΎ ΠΌΠ°Π»ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅ΡΠΎ.
ΠΡΡΠ°ΡΠ° ΡΠ΅ΠΌΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΡΡΠΊΡ ΠΈ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΠΈ. ΠΠΌΠ°ΠΌΠ΅ ΠΌΠΎΡΠΎΡ - ΠΌΠ°ΡΡΡΠΎΡ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ ΠΏΠΈΡΡΠ²Π° Π²ΠΎ Π±ΠΈΠ½Π»ΠΎΠ³. ΠΠ° ΠΊΠΎΠ΅ Π±ΠΈΠ»ΠΎ Π΄ΡΡΠ³ΠΎ ΠΌΠ΅ΡΡΠΎ ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»Π΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, ΠΎΠ²ΠΎΡ Π±ΠΈΠ½Π»ΠΎΠ³ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ° ΠΈ ΡΠΎΠ° Π΅ ΡΠΎΠ° - ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½Π° ΠΊΠΎΠΏΠΈΡΠ°.
ΠΠΊΠΎ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΠΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ, Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΌΠΎΡΠΎΡΠΎΡ Π·Π° ΡΠΈΡΠ°ΡΠ΅, ΠΊΠΎΡ Π³ΠΎ ΡΠΈΡΠ° ΠΊΡΠ°ΡΠΎΡ Π½Π° Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΡ ΠΈ Π³ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ.
ΠΠ°ΠΎΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΎΠ²Π΄Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π»ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ ΠΊΠΎΠ»ΠΊΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠ° Π·Π°ΠΎΡΡΠ°Π½ΡΠ²Π° Π·Π°Π΄ ΠΌΠ°ΡΡΡΠΎΡΠΎΡ.
Π‘ΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ RPC ΠΏΡΠΎΠΊΡΠΈ
ΠΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π΄Π΅Π»Π΅ΡΠ΅ΡΠΎ? ΠΠ°ΠΊΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ° Π΄ΠΎ ΠΊΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ΅Ρ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠΈ? ΠΠΎΠ΄ΠΎΡ Π½Π΅ Π²Π΅Π»ΠΈ: βΠΡΠΏΡΠ°ΡΠΈ Π·Π° 15 ΠΏΠ°ΡΡΠΈΡΠ°!β - Π½Π΅, ΠΎΠ²Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΡ.
ΠΠ°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°ΡΠ° ΡΠ΅ΠΌΠ° Π΅ firstint β ΠΏΡΠ²ΠΈΠΎΡ Π±ΡΠΎΡ Π²ΠΎ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ.
get(photo100_500) => 100 % N.
ΠΠ²Π° Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΈΡΠ°Π½ ΡΠ΅ΠΊΡΡΡΠ°Π»Π΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π½ΠΎ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π±Π°ΡΠ°ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ. ΠΡΠΈΠΌΠ΅ΡΠΎΡ Π³ΠΎ Π·Π΅ΠΌΠ° ΠΏΡΠ²ΠΈΠΎΡ Π±ΡΠΎΡ Π²ΠΎ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ, Π° ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ ΠΊΠΎΠ³Π° ΡΠ΅ Π΄Π΅Π»ΠΈ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ.
ΠΠ²Π° Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ ΠΊΠΎΠ³Π° ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΅Π΄Π΅Π½ Π΅Π½ΡΠΈΡΠ΅Ρ. ΠΠ° ΡΠ΅ΡΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° 100 Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠ΅Π½ ID ΠΈ ΡΠ°ΠΊΠ°ΠΌΠ΅ ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΅Π΄Π΅Π½ Π΅Π½ΡΠΈΡΠ΅Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ Π½Π° Π΅Π΄Π΅Π½ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π·Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ°.
ΠΠΊΠΎ Π½Π΅ Π½ΠΈ Π΅ Π³ΡΠΈΠΆΠ° ΠΊΠ°ΠΊΠΎ Π±Π°ΡΠ°ΡΠ°ΡΠ° ΡΠ΅ ΡΠΈΡΠ°Ρ Π½ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΈ Π΄ΡΡΠ³Π° ΠΎΠΏΡΠΈΡΠ° - Ρ Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ.
hash(photo100_500) => 3539886280 % N
ΠΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΈ Ρ Π°ΡΠΎΡ, ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ ΠΎΠ΄ ΠΏΠΎΠ΄Π΅Π»Π±Π°ΡΠ° ΠΈ Π±ΡΠΎΡΠΎΡ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΡ.
Π Π΄Π²Π΅ΡΠ΅ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠΌΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ, ΡΠ΅ Π³ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ°Π²ΠΌΠ΅ 16 ΠΏΠ°ΡΡΠΈΡΠ°, Π½Π΅ΠΌΠ°ΠΌΠ΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ, ΡΠ°ΠΊΠ°ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ - ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ 32 Π±Π΅Π· Π·Π°ΡΡΠΎΡ. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π½Π΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ΅ΠΊΠΈΠ½ΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΡΓ¨ Π±Π΅Π· Π·Π°Π³ΡΠ±ΠΈ. ΠΠ²ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈ, Π½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠ³Π°Ρ.
ΠΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±ΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π½ΠΈΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΠΎΡΠ»Π΅Π΄Π½ΠΎ Ρ Π°ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΡΡΠ΅Π½ΠΎΡ Π° Π»Π° ΠΠ΅ΡΠ°ΠΌΠ°. ΠΠΎ, Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ° Π³ΡΠ±ΠΈΠΌΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅; ΠΌΠΎΡΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΡΠΏΠΎΠΈΠΌΠ΅ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅ΠΊΠΎΠ΅ ΠΏΠ°ΡΡΠ΅ Π²ΡΠ°ΡΠ° ΡΠ²ΠΎΡ ΠΌΠ°Π» ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ, Π° ΠΏΠΎΡΠΎΠ° Π΄Π° Π³ΠΈ ΡΠΏΠΎΠΈΠΌΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ ΡΠΎ ΠΏΡΠΎΠΊΡΠΈ.
ΠΠΌΠ° ΡΡΠΏΠ΅Ρ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π±Π°ΡΠ°ΡΠ°. ΠΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°: RPC ΠΏΡΠΎΠΊΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ° Π±Π°ΡΠ°ΡΠ΅ΡΠΎ, ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° Π²ΠΎ ΠΊΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Π΄Π° ΠΎΠ΄ΠΈ ΠΈ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° Π΄Π΅Π»ΠΎΡ. ΠΠΎΡΠΎΠ°, ΠΈΠΌΠ° ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΡΠΎΡΠΈ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅, ΠΈΠ»ΠΈ, Π°ΠΊΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΡΠΎΡ ΠΈΡΠΏΡΠ°ΡΠ° Π΄ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° Π±Π°ΡΠ°ΡΠ΅. Π‘Π΅ΡΠΎ ΠΎΠ²Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΠΊΡΠΈ.
ΠΠ½Π΅Π²Π½ΠΈΡΠΈ
ΠΠΈΠ΅ ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π½Π°ΡΠΈΠ½ΠΈ. ΠΠ°ΡΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΈΠΎΡ ΠΈ Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΠΎΡ Π΅ ΠΏΠΈΡΡΠ²Π°ΡΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΎΡ.
ring-buffer: prefix.idx = line
ΠΠΎΡΡΠΎΠΈ ΠΊΠ»ΡΡΠ΅Π½ ΠΏΡΠ΅ΡΠΈΠΊΡ - ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ, Π»ΠΈΠ½ΠΈΡΠ°, Π° ΠΈΠΌΠ° ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΎΠ²ΠΎΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ - Π±ΡΠΎΡΠΎΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ. ΠΠ΅ΠΌΠ°ΠΌΠ΅ ΡΠ»ΡΡΠ°Π΅Π½ Π±ΡΠΎΡ ΠΎΠ΄ 0 Π΄ΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΌΠΈΠ½ΡΡ 1. ΠΠ»ΡΡΠΎΡ Π²ΠΎ ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΎΡ Π΅ ΠΏΡΠ΅ΡΠΈΠΊΡ ΡΠΏΠΎΠ΅Π½ ΡΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Π΅Π½ Π±ΡΠΎΡ. ΠΠ° Π·Π°ΡΡΠ²ΡΠ²Π°ΠΌΠ΅ Π»ΠΈΠ½ΠΈΡΠ°ΡΠ° Π·Π° Π΄Π½Π΅Π²Π½ΠΈΠΊ ΠΈ ΡΠ΅ΠΊΠΎΠ²Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ°.
ΠΠΎΠ³Π° Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π°Ρ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ, Π½ΠΈΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Multi Get ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ, ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΈ Π½Π° ΡΠΎΡ Π½Π°ΡΠΈΠ½ Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. Π¨Π΅ΠΌΠ°ΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΠ³Π° ΡΡΠ΅Π±Π° Π΄Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ Π½Π΅ΡΡΠΎ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π΅Π· Π΄Π° ΠΏΡΠ΅ΠΊΡΡΠΈΡΠ΅ Π½ΠΈΡΡΠΎ, Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ°Π½Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ ΠΊΠΎΠ½ Π΄ΡΡΠ³ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π½ΠΎ ΠΎΠ²ΠΎΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π½Π΅ ΡΡΠ°Π΅ Π΄ΠΎΠ»Π³ΠΎ.
ΠΠ° ΡΠΈΠ³ΡΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΡΠΏΡΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠΎΡΠΎΡ ΡΡΡΠΏΡΠΈ-ΠΌΠΎΡΠΎΡ. Π’ΠΎΠΊΠΌΡ Π·Π°ΡΠΎΠ° Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈ. ΠΠ°ΡΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΡΠΎ Π³ΠΎ Π·Π½Π°ΠΌ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° 600 Π’Π ΡΠΏΠ°ΠΊΡΠ²Π°Π½ΠΈ ΡΡΡΠΏΡΠΈ.
ΠΠΎΡΠΎΡΠΎΡ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΡΡΠ°Ρ, ΠΈΠΌΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π²Π΅ΡΠ΅ 6-7 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. ΠΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ Π½Π΅Π³ΠΎ ΡΡΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠ΅ΡΠΈΠΌΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ½Π°Π²ΠΌΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ClickHouse Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈ.
Π‘ΠΎΠ±ΠΈΡΠ°ΡΠ΅ Π»ΠΎΠ³ΠΎΠ²ΠΈ Π²ΠΎ ClickHouse
ΠΠ²ΠΎΡ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΊΠ°ΠΊΠΎ Π²Π»Π΅Π³ΡΠ²Π°ΠΌΠ΅ Π²ΠΎ Π½Π°ΡΠΈΡΠ΅ ΠΌΠΎΡΠΎΡΠΈ.
ΠΠΌΠ° ΠΊΠΎΠ΄ ΡΡΠΎ ΠΎΠ΄ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΏΡΠ΅ΠΊΡ RPC Π΄ΠΎ RPC-ΠΏΡΠΎΠΊΡΠΈ-ΠΏΡΠΎΠΊΡΠΈ, ΠΈ ΡΠ°Π·Π±ΠΈΡΠ° ΠΊΠ°Π΄Π΅ Π΄Π° ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΌΠΎΡΠΎΡΠΎΡ. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π²ΠΎ ClickHouse, ΡΡΠ΅Π±Π° Π΄Π° ΡΠΌΠ΅Π½ΠΈΠΌΠ΅ Π΄Π²Π° Π΄Π΅Π»Π° Π²ΠΎ ΠΎΠ²Π°Π° ΡΠ΅ΠΌΠ°:
- Π·Π°ΠΌΠ΅Π½ΠΈ Π½Π΅ΠΊΠΎΡ ΠΌΠΎΡΠΎΡ ΡΠΎ ClickHouse;
- Π·Π°ΠΌΠ΅Π½Π΅ΡΠ΅ Π³ΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠΎ RPC, ΠΊΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ ClickHouse, ΡΠΎ Π½Π΅ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅, ΠΈ ΠΏΡΠ΅ΠΊΡ RPC.
ΠΠΎΡΠΎΡΠΎΡ Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ - Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΠΎ ClickHouse.
Π Π΄Π° ΠΎΠ΄ΠΈΠΌΠ΅ Π²ΠΎ ClickHouse, Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠ²ΠΌΠ΅ ΡΠΎΠ° ΠΡΡΠ° Π·Π° ΠΌΠ°ΡΠΈΡΠ°. ΠΠΊΠΎ ΠΎΠ΄ΠΈΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ΄ KittenHouse Π²ΠΎ ClickHouse, ΡΠΎΠ° Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ. ΠΡΡΠΈ ΠΈ Π±Π΅Π· Π±Π°ΡΠ°ΡΠ°, ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ° ΠΎΠ΄ HTTP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΠΈ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π±ΡΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠ° ΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎ ClickHouse Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΎΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ Π΅ ΠΏΠΎΠ΄ΠΈΠ³Π½Π°Ρ, ΠΊΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ°ΠΊΠΎΠ² Π½Π°ΡΠΈΠ½ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ·Π΄ΡΠΆΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ Π½Π° Π²ΡΡΠΊΠΈ. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ ΡΠ΅Π»Π°ΡΠΈΠ²Π½ΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎ Π΄Π° Π³ΠΈ ΡΠ°ΠΌΠΏΠΎΠ½ΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΡΠ΅Π±Π΅.
ΠΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ Π½Π΅ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΠΌΠ°ΡΠ° RPC Π²ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ nginx. ΠΠ°ΡΠΎΠ°, KittenHouse ΠΈΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΡΠΈΠΌΠ° Π»ΠΎΠ³ΠΎΠ²ΠΈ ΠΏΡΠ΅ΠΊΡ UDP.
ΠΠΊΠΎ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠΎΡ ΠΈ ΠΏΡΠΈΠΌΠ°ΡΠΎΡ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° ΠΈΡΡΠ° ΠΌΠ°ΡΠΈΠ½Π°, ΡΠΎΠ³Π°Ρ Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎΡΡΠ° Π·Π° Π³ΡΠ±Π΅ΡΠ΅ Π½Π° UDP ΠΏΠ°ΠΊΠ΅Ρ Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΎΡ Ρ
ΠΎΡΡ Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΠΌΠ°Π»Π°. ΠΠ°ΠΊΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ ΠΏΠΎΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° RPC Π²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΈ Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡΠ°, Π½ΠΈΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ UDP. ΠΠΎΠ΄ΠΎΡΠ½Π° ΡΠ΅ ΡΠ΅ Π²ΡΠ°ΡΠΈΠΌΠ΅ Π½Π° ΠΎΠ²Π°Π° ΡΠ΅ΠΌΠ°.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΠΌΠ°ΠΌΠ΅ Π΄Π²Π° Π²ΠΈΠ΄Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈ: ΠΎΠ½ΠΈΠ΅ ΡΡΠΎ Π³ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΈ ΠΎΠ½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠ΄. Π’ΠΈΠ΅ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°Π°Ρ Π½Π° Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°: ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄.
Π‘ΠΈΡΡΠ΅ΠΌΡΠΊΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ°
Π Π°Π±ΠΎΡΠΈ Π½Π° ΡΠΈΡΠ΅ Π½Π°ΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ
ΠΠ΅ΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ
ΠΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΡΡ, Π½Π°ΠΏΠΈΡΠ°Π²ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π±ΠΎΡΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ° Π·Π±ΠΈΡ Π½Π° ΠΎΠ±ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Counts, UniqueCounts Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π²ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ°, ΠΊΠΎΠΈ ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ Π½Π΅ΠΊΠ°Π΄Π΅ ΠΏΠΎΠ½Π°ΡΠ°ΠΌΡ.
statlogsCountEvent ( βstat_nameβ, $key1, $key2, β¦)
statlogsUniqueCount ( βstat_nameβ, $uid, $key1, $key2, β¦)
statlogsValuetEvent ( βstat_nameβ, $value, $key1, $key2, β¦)
$stats = statlogsStatData($params)
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΡΠΈΠ»ΡΡΠΈ Π·Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΠΈ Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΡΓ¨ ΡΡΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅ ΠΎΠ΄ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° - Π΄Π° Π³ΡΠ°Π΄ΠΈΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ΠΈ, Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ Watchdogs.
ΠΠ½ΠΎΠ³Ρ ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π±ΡΠΎΡΠΎΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ Π΅ ΠΎΠ΄ 600 ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄ΠΈ Π΄ΠΎ 1 ΡΡΠΈΠ»ΠΈΠΎΠ½ Π΄Π½Π΅Π²Π½ΠΎ. Π‘Π΅ΠΏΠ°ΠΊ, ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΈ Π·Π°Π΄ΡΠΆΠΈΠΌΠ΅ Π±Π°ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈΠ΄Π° Π³ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ ΡΡΠ΅Π½Π΄ΠΎΠ²ΠΈΡΠ΅ Π²ΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΡΠ°. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΎ ΡΠΎΠ° Π΅ Π³ΠΎΠ»Π΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΠΎ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠΌΠ΅ Π³ΠΎ ΡΠ΅ΡΠΈΠ»Π΅. ΠΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
ΠΠΌΠ°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΈ Π³ΠΈ ΠΏΠΈΡΡΠ²Π°Π°Ρ ΠΎΠ²ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΊΠ΅ΡΠ΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π±ΡΠΎΡΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈ. ΠΠ΄Π½Π°Ρ Π²ΠΎ ΠΊΡΠ°ΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π»Π°Π½ΡΠΈΡΠ°Π½ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°-Π΄Π΅ΠΌΠΎΠ½ Π³ΠΈ ΡΠΎΠ±ΠΈΡΠ° ΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ. Π‘Π»Π΅Π΄Π½ΠΎ, Π΄Π΅ΠΌΠΎΠ½ΠΎΡ Π³ΠΈ ΡΠΏΠΎΡΡΠ²Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π²ΠΎ Π΄Π²Π° ΡΠ»ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΡΡΠΏΡΠΈ-ΡΠΎΠ±ΠΈΡΠ°ΡΠΈ, ΠΊΠΎΡ ΡΠΎΠ±ΠΈΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΊΡΠΏ Π½Π°ΡΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π·Π° Π΄Π° Π½Π΅ ΠΈΠ·ΡΠΌΡΠ΅ ΡΠ»ΠΎΡΠΎΡ Π·Π°Π΄ Π½ΠΈΠ².
ΠΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΠΈΡΠ΅ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈ.
ΠΠΎ, ΠΏΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ ΠΎΠ΄ ΠΊΠΎΠ΄ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄ΠΎ ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠΈ, Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΡΠΈ Π³ΠΎ stas-daemom, Π΅ ΡΠ»Π°Π±ΠΎ ΡΠΊΠ°Π»Π°Π±ΠΈΠ»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠΎΡ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ° ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ΠΌΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ°-Π΄Π΅ΠΌΠΎΠ½ΠΎΡ Π½Π° ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΎΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ°, ΠΈΠ»ΠΈ ΡΠ°Π° ΡΠ΅ ΡΡΠ½Π° ΠΈ ΠΎΡΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ.
Π‘Π»Π΅Π΄Π½ΠΎ, Π»ΠΎΠ³ΠΎΠ²ΠΈΡΠ΅-ΡΠΎΠ±ΠΈΡΠ°ΡΠΈ ΡΠ° ΡΠΏΠΎΡΡΠ²Π°Π°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π²ΠΎ meowDB - ΠΎΠ²Π° Π΅ Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠΎΡΠ° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ°.
ΠΠΎΡΠΎΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΈΠ·Π±ΠΎΡΠΈ βΠ±Π»ΠΈΠ·Ρ SQLβ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ.
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ
ΠΠΎ Π»Π΅ΡΠΎΡΠΎ 2018 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈΠΌΠ°Π²ΠΌΠ΅ Π²Π½Π°ΡΡΠ΅ΡΠ΅Π½ Ρ Π°ΠΊΠ°ΡΠΎΠ½ ΠΈ Π΄ΠΎΡΠ΄Π΅ ΠΈΠ΄Π΅ΡΠ°ΡΠ° Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ΅ ΡΡΠ²Π΅Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ ΡΠΎ Π½Π΅ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ° Π²ΠΎ ClickHouse. ΠΠΌΠ°ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π½Π° ClickHouse - Π·ΠΎΡΡΠΎ Π΄Π° Π½Π΅ Π³ΠΎ ΠΏΡΠΎΠ±Π°ΡΠ΅?
ΠΠΌΠ°Π²ΠΌΠ΅ ΡΠ΅ΠΌΠ° ΠΊΠΎΡΠ° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ ΠΏΡΠ΅ΠΊΡ KittenHouse.
ΠΠΈΠ΅ ΠΎΠ΄Π»ΡΡΠΈΠ²ΠΌΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΡΡΠ΅ Π΅Π΄Π½Π° β*ΠΡΡΠ°β Π½Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ, ΠΊΠΎΠΈ ΡΠ΅ Π³ΠΈ Π΄ΠΎΠ±ΠΈΡΠ°Ρ ΡΠΎΡΠ½ΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π½Π°ΡΠΈΠΎΡ ΠΊΠΎΠ΄ Π³ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π° ΠΏΡΠ΅ΠΊΡ UDP. ΠΠΎΡΠΎΠ° ΠΎΠ²Π°Π° *ΠΡΡΠ° Π³ΠΈ ΠΏΡΠ΅ΡΠ²ΠΎΡΠ° Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΡΠΏΡΠΈ, ΠΊΠΎΠΈ KittenHouse Π³ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°. Π’ΠΎΡ ΠΌΠΎΠΆΠ΅ ΡΠΎΠ²ΡΡΠ΅Π½ΠΎ Π΄Π° Π³ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ²ΠΈ Π΄ΠΎ ClickHouse, ΠΊΠΎΡ ΡΡΠ΅Π±Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΡΠΈΡΠ°.
Π¨Π΅ΠΌΠ°ΡΠ° ΡΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΌΠ΅ΠΌΠΊΠ΅Ρ, stats-daemon ΠΈ logs-collectors Π΅ Π·Π°ΠΌΠ΅Π½Π΅ΡΠ° ΡΠΎ ΠΎΠ²Π°Π°.
Π¨Π΅ΠΌΠ°ΡΠ° ΡΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΌΠ΅ΠΌΠΊΠ΅Ρ, stats-daemon ΠΈ logs-collectors Π΅ Π·Π°ΠΌΠ΅Π½Π΅ΡΠ° ΡΠΎ ΠΎΠ²Π°Π°.
- ΠΠ²Π΄Π΅ ΠΈΠΌΠ° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΊΠΎΠ΄, ΠΊΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π²ΠΎ StatsHouse.
- StatsHouse ΠΏΠΈΡΡΠ²Π° UDP ΠΌΠ΅ΡΡΠΈΠΊΠ°, Π²Π΅ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ SQL ΠΈΠ½ΡΠ΅ΡΡΠΈ, Π²ΠΎ KittenHouse Π²ΠΎ ΡΠ΅ΡΠΈΠΈ.
- KittenHouse Π³ΠΈ ΠΈΡΠΏΡΠ°ΡΠ° Π΄ΠΎ ClickHouse.
- ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠΈΡΠ°ΠΌΠ΅, ΡΠΎΠ³Π°Ρ Π³ΠΈ ΡΠΈΡΠ°ΠΌΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΡΠΈ Π³ΠΎ StatsHouse - Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ΄ ClickHouse ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΎΠ±ΠΈΡΠ΅Π½ SQL.
ΠΠ°Π»ΠΈ Π΅ ΡΠ΅ΡΡΡΠ΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ, Π½ΠΎ Π½ΠΈ ΡΠ΅ Π΄ΠΎΠΏΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π»Π΅Π³ΡΠ²Π°. ΠΠΊΠΎ Π³ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΠΎ ΡΠ΅ΠΌΠ°ΡΠ°, ΡΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈΠΌΠ΅ Π½Π° Π½Π΅Π°. ΠΠΈΡΠ½ΠΎ, ΡΠ΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π΄Π΅ΠΊΠ° Π΅ ΡΠ°ΠΊΠ°.
Π¨Π΅ΠΌΠ°ΡΠ° Π½Π΅ ΡΡΠ΅Π΄ΠΈ ΠΆΠ΅Π»Π΅Π·ΠΎ. ΠΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ΅ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π½Π΅ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ-Π΄Π΅ΠΌΠΎΠ½ΠΈ ΠΈ Π»ΠΎΠ³ΠΎΠ²ΠΈ-ΡΠΎΠ±ΠΈΡΠ°ΡΠΈ, Π½ΠΎ ClickHouse Π±Π°ΡΠ° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ Π²ΠΎ ΡΠ΅ΠΊΠΎΠ²Π½Π°ΡΠ° ΡΠ΅ΠΌΠ°. ΠΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ΅ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΠΈ, Π½ΠΎ ΡΠΈΠ΅ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΠΊΠ°ΠΏΠΈ ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ.
Π Π°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅
ΠΡΠ²ΠΎ, Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° PHP. ΠΠΈΠ΅ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ Π²ΠΎ ΠΎΠ΄ΠΈ: ΡΠΏΠΎΡΡΠ΅Π±Π° GitLab ΠΈ Π’ΠΈΠΌΡΠΊΠΈ ΡΠΈΠΌ Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅. Π Π°Π·Π²ΠΎΡΠ½ΠΈΡΠ΅ Π³ΡΠ°Π½ΠΊΠΈ ΡΠ΅ ΡΠΏΠΎΡΡΠ²Π°Π°Ρ Π²ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° Π³ΡΠ°Π½ΠΊΠ°, ΠΎΠ΄ ΠΌΠ°ΡΡΡΠΎΡΠΎΡ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ ΡΠΏΠΎΡΡΠ²Π°Π°Ρ Π²ΠΎ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, Π° ΠΎΠ΄ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΡΠ° Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
ΠΡΠ΅Π΄ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ, ΡΠ΅ Π·Π΅ΠΌΠ°Π°Ρ ΡΠ΅ΠΊΠΎΠ²Π½Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° Π³ΡΠ°Π½ΠΊΠ° ΠΈ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ°, Π° Π²ΠΎ Π½ΠΈΠ² ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ - ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈ, ΠΈΠ·Π±ΡΠΈΡΠ°Π½ΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅ΡΠΈ. ΠΠ²Π°Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π΅ ΡΠ½ΠΈΠΌΠ΅Π½Π° Π²ΠΎ Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ copyfast ΠΌΠΎΡΠΎΡ, ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π±ΡΠ·ΠΎ Π΄Π° Π³ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ΡΠ΅Π»Π°ΡΠ° Π½Π°ΡΠ° ΡΠ»ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈ. ΠΠ½Π° ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ²Π΄Π΅ Π½Π΅ Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅, ΡΡΠΊΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΎΠ·Π±ΠΎΡΡΠ²Π°ΡΠ°, ΠΊΠΎΠ³Π° Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΡΠΏΡΠ°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄ΠΎ ΡΠ²ΠΎΠΈΡΠ΅ Π½Π°ΡΠ±Π»ΠΈΡΠΊΠΈ ΡΠΎΡΠ΅Π΄ΠΈ, ΠΎΠ½ΠΈΠ΅ Π΄ΠΎ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΎΡΠ΅Π΄ΠΈ ΠΈΡΠ½. ΠΠ²Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ ΠΎΠ΄ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π½ΠΈΠ· ΡΠ΅Π»Π°ΡΠ° ΡΠ»ΠΎΡΠ°. ΠΠΎΠ³Π° ΠΏΡΠΎΠΌΠ΅Π½Π°ΡΠ° ΡΠ΅ ΡΡΠΈΠ³Π½Π΅ Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°, ΡΠ°Π° Π³ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΠΎΠ²ΠΈΠ΅ Π·Π°ΠΊΡΠΏΠΈ Π½Π° Π½Π΅ΡΠ·ΠΈΠ½Π°ΡΠ° Π»ΠΎΠΊΠ°Π»Π΅Π½ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠ°ΡΠ°ΡΠ΅ΡΠΎ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΡΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΠΈΡΡΠ°ΡΠ° ΡΠ΅ΠΌΠ°.
ΠΠΈΠ΅, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρ kPHP ΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΡΠ°Π·Π²ΠΎΡ ΠΎΠ΄ΠΈ ΡΠΏΠΎΡΠ΅Π΄ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ ΠΏΠΎΠ³ΠΎΡΠ΅. ΠΠ΄ ΠΎΠ²Π° ΠΠΈΠ½Π°ΡΠ΅Π½ HTTP ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΎΠ³Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΠΊΠ° - Π±ΠΈΠ½Π°ΡΠ½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΆΠΈ ΡΡΠΎΡΠΈΡΠΈ MB. ΠΠ°ΡΠΎΠ°, ΡΡΠΊΠ° ΠΈΠΌΠ° ΡΡΡΠ΅ Π΅Π΄Π½Π° ΠΎΠΏΡΠΈΡΠ° - Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π±ΠΈΠ½Π»ΠΎΠ³ copyfast. Π‘ΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π³ΡΠ°Π΄Π΅ΡΠ΅ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°, Π° ΠΏΡΠΈ Π²ΡΠ°ΡΠ°ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°. ΠΠ΅ΡΠ·ΠΈΡΠ° ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅. ΠΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°ΡΡ Π³Π»Π΅Π΄Π°Π°Ρ Π΄Π΅ΠΊΠ° Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π΅ Π²Π»Π΅Π·Π΅Π½Π° Π²ΠΎ Π±ΠΈΠ½Π»ΠΎΠ³ΠΎΡ, ΠΈ ΡΠΎ ΠΈΡΡΠ°ΡΠ° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΎΠ·Π±ΠΎΡΡΠ²Π°ΡΠ° ΡΠ° Π·Π΅ΠΌΠ°Π°Ρ Π·Π° ΡΠ΅Π±Π΅ Π½Π°ΡΠ½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΡ, Π±Π΅Π· Π΄Π° Π³ΠΎ Π·Π°ΠΌΠΎΡΠ°Ρ Π½Π°ΡΠΈΠΎΡ Π³Π»Π°Π²Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΊΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ ΡΠΈΡΠ°Ρ ΡΠΎΠ²Π°ΡΠΎΡ Π½ΠΈΠ· ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π¨ΡΠΎ ΡΠ»Π΅Π΄ΠΈ Π³ΡΠ°ΡΠΈΠΎΠ·Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π·Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°.
ΠΠ° Π½Π°ΡΠΈΡΠ΅ ΠΌΠΎΡΠΎΡΠΈ, ΠΊΠΎΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΠΎ ΡΡΡΡΠΈΠ½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ, ΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠ»ΠΈΡΠ½Π°:
- git master Π³ΡΠ°Π½ΠΊΠ°;
- Π±ΠΈΠ½Π°ΡΠ½ΠΈ Π²ΠΎ .deb;
- Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π²ΠΎ binlog copyfast;
- ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈ;
- ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π²Π°Π΄ΠΈ ΡΠ²Π΅ΠΆ .dep;
- Π΄ΠΏΠΊΠ³ -ΠΈ;
- Π³ΡΠ°ΡΠΈΠΎΠ·Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°.
Π Π°Π·Π»ΠΈΠΊΠ°ΡΠ° Π΅ Π²ΠΎ ΡΠΎΠ° ΡΡΠΎ Π½Π°ΡΠΈΠΎΡ Π±ΠΈΠ½Π°Ρ Π΅ ΡΠΏΠ°ΠΊΡΠ²Π°Π½ Π²ΠΎ Π°ΡΡ ΠΈΠ²ΠΈ .deb, ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΡΠΌΠΏΡΠ²Π°ΡΠ΅ ΡΠΈΠ΅ Π΄ΠΏΠΊΠ³ -ΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠΎΡΡΠΎ kPHP Π΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ ΠΊΠ°ΠΊΠΎ Π±ΠΈΠ½Π°ΡΠ΅Π½, Π° ΠΌΠΎΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ dpkg? Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ»ΡΡΠΈ. Π Π°Π±ΠΎΡΠΈ - Π½Π΅ Π³ΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡΠ΅.
ΠΠΎΡΠΈΡΠ½ΠΈ Π²ΡΡΠΊΠΈ:
- ΠΠ·Π²Π΅ΡΡΠ°Ρ Π½Π° ΠΠ½ΡΠΎΠ½ ΠΠΈΡΡΡΡΠΊΠΈΠ½
βΠ‘ΠΈΡΡΠ΅ΠΌΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Vkontakte. ΠΠ°ΠΊΠΎ?" ΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ Π·Π° copyfast ΠΈ ΠΎΠ·Π±ΠΎΡΡΠ²Π°ΡΠ°. - ΠΠ·Π²Π΅ΡΡΠ°Ρ Π½Π° ΠΡΡΠΈΡ ΠΠ°ΡΡΠ΅ΡΠ΄ΠΈΠ½ΠΎΠ²
βΠΠ°ΠΊΠΎ VK Π²ΠΌΠ΅ΡΠ½ΡΠ²Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ CLickHouse ΠΎΠ΄ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΈΠ»ΡΠ°Π΄ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈβ . - ΠΠΎΡΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ°Ρ
βΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΡΠ°ΡΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° VKontakteβ , Π½ΠΎ ΠΎΠ΄ ΡΠ°Π·Π²ΠΎΡΠ½Π° Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ°, Π½Π΅ Ρ Π°ΡΠ΄Π²Π΅Ρ.
ΠΠ»Π΅ΠΊΡΠ΅Ρ ΠΠΊΡΠ»ΠΎΠ²ΠΈΡ Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ ΠΏΠΎΠΌΠ°Π³Π°
PHP Π ΡΡΠΈΡΠ° Π½Π° 17-ΡΠΈ ΠΌΠ°Ρ ΡΠ΅ ΡΡΠ°Π½Π΅ Π½Π°ΡΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ Π½Π°ΡΡΠ°Π½ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° PHP Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎΠ² ΠΊΡΠ» ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈΠΌΠ°ΠΌΠ΅, ΡΡΠΎΠ·Π²ΡΡΠ½ΠΈΡΠΈ (Π΄Π²Π°ΡΡΠ° ΠΎΠ΄ Π½ΠΈΠ² ΡΠ°Π·Π²ΠΈΠ²Π°Π°Ρ PHP ΡΠ°Π΄ΡΠΎ!) - ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΊΠΎ Π½Π΅ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ Π°ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ PHP.
ΠΠ·Π²ΠΎΡ: www.habr.com