ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ php
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ: ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ: ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β ΡΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΡΠΎΠΈΡΡΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΈ ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π°Π±ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Low Coupling ΠΈ High Cohesion.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ β Π² Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠΎΠ½ΠΎΠ»ΠΈΡ vs ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
ΠΡΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3 Π±Π»ΠΎΠΊΠΎΠ²: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ. Π‘Π΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΠ, Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ HTML-ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π¦Π΅Π»Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ
ΠΠΎΠ½ΡΡΠ°ΠΊΡ β ΡΡΠΎ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ. Π ΡΠ»ΡΡΠ°Π΅ Ρ REST API ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΡΡ Π΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠΌ. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ β ΡΡΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠΌΠΎΡΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Tolerant Reader ΠΈ Consumer-Driven Contracts.
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π±ΠΎΠ»ΡΡΠ΅ Π»ΡΠ΄Π΅ΠΉ, ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΈΡΡ Π΄Π²ΡΠΌΡ ΠΏΠΈΡΡΠ°ΠΌΠΈ. Π’Π°ΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Amazon ΠΏΡΠΈ ΡΠ°ΡΠΏΠΈΠ»ΠΈΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° Π² 2002 Π³ΠΎΠ΄Ρ. ΠΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ developer per service, ΡΠΎ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ.
ΠΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ, ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π±Π°Π·Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π½Π° ΡΠ΅Ρ ΡΠ»ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ. ΠΠ°ΠΊΠΎΠ½ ΠΠΎΠ½Π²Π΅Ρ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ:
Β«ΠΡΠ±Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡ (Π² ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅) ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΈΠ·Π°ΠΉΠ½, ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΡΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΒ»
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ. Π‘Π΅ΡΠ²ΠΈΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: UI, storage, backend. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠΎΡΡ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΠΌΠ΅ΡΡΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΠΎΠΊΡΡΠ²Π°ΡΡΠΈΡ 100% Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°. ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π΅Π³ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ 24/7. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠ½ΡΡΡΡΡ ΠΎΡ Π·Π²ΠΎΠ½ΠΊΠ° Π² 3 ΡΠ°ΡΠ° Π½ΠΎΡΠΈ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΡΠΉ ΡΡΠΈΠΌΡΠ» ΠΏΠΈΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΊΠΎΠ΄.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ
ΠΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ΄Π° ΠΈ Π»ΡΠ΄Π΅ΠΉ. ΠΡΠΎΠ΅ΠΊΡΠΈΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π²ΡΠ±ΠΎΡ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ Π² Π²ΡΠ±ΠΎΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Π°ΡΠΈΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ CI/CD, ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ, Service Discovering, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ².
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ (Automated Deployment).
Π¦Π΅ΠΏΠΎΡΠΊΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΎΡ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Β«ΠΠ΄ΠΈΠ½ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π½Π° ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΒ», ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² The Guardian, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ API, ΠΊΠ°ΠΊ Π² Netflix. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ API β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, RabbitMQ, Apache Kafka ΠΈΠ»ΠΈ ActiveMQ.
Π₯ΠΈΠ½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²: Π΅ΡΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΠ΅ΡΡ Π½Π° ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ Huawei Cup, ΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠΊΠΎΠ»Π΅ Π΄Π»Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ². ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ Π½Π°Π²ΡΠΊΠ°ΠΌ ΠΈ Π²ΡΠΈΠ³ΡΠ°ΡΡ ΠΏΡΠΈΠ·Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ³Π»ΡΠ΄ΡΠ²Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° ΠΏΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Ρ ΡΠ΅Ρ ΠΏΠΎΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΎΠ½Π°ΡΠ°Π»Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅Ρ Π° Netflix, Amazon ΠΈ Gilt.com ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π΄Π΅-ΡΠ°ΠΊΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΆΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ Π½ΠΎΠ²ΡΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈΡΡ ΠΊ ΠΠΆΠ΅ΠΉΠΌΠ΅ ΠΡΡΠ»ΡΡΠ° (Jaime Buelta), Π°Π²ΡΠΎΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Β«Hands-On Docker for Microservices with PythonΒ». ΠΠ½ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠ»Π°Π½ΠΈΡΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½Π΅Π΅ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠ².
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠΈΡΠΊΠΈ
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅. Π ΡΠ»ΡΡΠ°Π΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΡΠ΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ΅Π»ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ².
ΠΡΡΠ»ΡΡΠ° ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ: Β«ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ web-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² RESTful). ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Β».
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°.
Β«ΠΠ΄Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ ΡΠ°ΡΡΠΈ, Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌΒ», β ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΡΡΠ»ΡΡΠ°.
ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π½Π΅Π΄ΡΡΡΡ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ Π±Π΅Π· ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π²Π΅ΡΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ° Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΈΡΠΊΠ°Ρ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΡΡΠ»ΡΡΠ° ΠΎΡΠ²Π΅ΡΠΈΠ»: Β«ΠΠ»Π°Π²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΡΠΎ ΠΌΠ΅ΠΆΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΡΡΠ°Π½ΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌ. ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π½ΡΠΆΠ½Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΡΠΌΠΈΡΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠ°ΠΊΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΌ Π·Π° Β«ΠΎΠ±ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΡΒ». ΠΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΒ», β ΡΡΠΈΡΠ°Π΅Ρ ΠΠΆΠ΅ΠΉΠΌΠ΅.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
ΠΠ°ΡΡΠΈΠ½ Π€Π°ΡΠ»Π΅Ρ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Π°Π²ΡΠΎΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°Π½Ρ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Β«ΡΠ½Π°ΡΠ°Π»Π° β ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΒ». ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Β«ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ±ΡΠΆΠ΄Π°ΡΡ Π²Π°Ρ ΠΊ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Ρ Π½Π° Π½ΠΎΠ²ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ β ΡΡΠΎ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΅Π±ΠΎΠ»ΡΡΠΈΠΌ Π³ΡΡΠΏΠΏΠ°ΠΌ Π½Π΅ ΡΡΠΎΠΈΡ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ³ΡΡ Π·Π°Π΄Π°ΡΡ ΡΡΠΎΡΠ½ΡΡΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΊΠΎΠ»Π»Π΅Π³Π΅. ΠΠΎΠ½ΠΎΠ»ΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΡΠΈΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π΅Π³ΠΎΒ», β ΡΡΠΈΡΠ°Π΅Ρ ΠΠΆΠ΅ΠΉΠΌΠ΅. ΠΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ Β«ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π²ΡΡ
ΠΏΠΈΡΡΒ» Amazon, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΠΎΡΠΌΠΈΡΡ Π΄Π²ΡΠΌΡ ΠΏΠΈΡΡΠ°ΠΌΠΈ β ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ.
Β«ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π»ΡΡΡΠ°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°ΡΡΠΎ ΠΌΠ΅ΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ. ΠΠΎΠ½ΡΡΡ ΡΠ΅Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» β ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΈ Π²Π½Π΅ΡΡΠΈ ΡΡΠ½ΠΎΡΡΡ Π² ΠΎΠ±ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠ΄Π°Π²Π°Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΈΠΌΠ΅Π» ΡΠΌΡΡΠ», ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΒ», β Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΡΡΠ»ΡΡΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
ΠΡΠ²Π΅ΡΠ°Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ, ΠΡΡΠ»ΡΡΠ° Π·Π°ΡΠ²ΠΈΠ»: Β«ΠΠ»ΡΡΠΎΠΌ ΠΊ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΒ».
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ?Β». ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ β ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ Π½ΠΎΠ²ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
: Β«ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π±ΡΠ΄Π΅Ρ Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ? ΠΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΡΡΠ΅Π±ΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²? ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΠΎ ΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΊΠΎ? ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, Π½ΠΎ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΒ», β ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΡΡΠ»ΡΡΠ°.
ΠΠΆΠ΅ΠΉΠΌΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ Π²ΡΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°ΡΡ. Β«ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΡΠΆΠ΅Π»Π΅Π΅. Π‘ΡΠΎΠΈΡ ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°Β», β Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ½.
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ β ΡΡΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΡΠ°Π³. ΠΡ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ, Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΠΆΠ΅ΠΉΠΌΠ΅ ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ, Π½Π° ΡΡΠΎ ΠΎΠ½ ΠΎΡΠ²Π΅ΡΠΈΠ»:
Β«ΠΠ° Π΄Π΅Π»Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π»ΡΠ΄ΡΠΌΠΈ. ΠΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ°Π΄Π°ΡΠ° Π½Π΅ ΠΈΠ· Π»Π΅Π³ΠΊΠΈΡ !Β». ΠΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ: Β«Π― Π»ΠΈΡΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΎΠ±ΡΡΠ°ΡΡ ΠΈ Π΄Π°Π²Π°ΡΡ ΡΠΎΠ²Π΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π»ΡΠ΄ΡΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΉΡΠΈΡΡ ΠΈΠΌ Π½Π΅ ΠΏΠΎ Π΄ΡΡΠ΅.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π½ΡΡΠ΅ Π²ΡΠΏΡΡΠΊΠ°Π»ΠΎΡΡ Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΠΊΠΎΠ². Π‘ΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΠΎΡΠΎΠΉ ΠΎΡΠ΅Π½Ρ Π½Π΅Π»Π΅Π³ΠΊΠΎΒ».
ΠΡΠΈΡΠΈΠ½Ρ Π²ΡΠ±ΠΎΡΠ° Docker, Kubernetes ΠΈ Python Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°
ΠΡ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΡΡΠ»ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΠ·ΡΠΊΠ° ΠΎΡΠ²Π΅Ρ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΏΡΠΎΡΡ: Β«Python Π΄Π»Ρ ΠΌΠ΅Π½Ρ β Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΡΠΎ ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎΡ ΡΠ·ΡΠΊ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΈΡΠ°ΡΡ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Python ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π΄Π»Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ. Π ΡΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ , Π²Π½Π΅ΡΠ½ΠΈΠΌ API ΠΈ Ρ.Π΄.Β».
Docker ΡΠ°ΡΡΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΡΠ»ΡΡΠ° ΠΎΠ±ΡΡΡΠ½ΠΈΠ», ΠΏΠΎΡΠ΅ΠΌΡ:
Β«Docker ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ . ΠΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ, ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π² ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ (Π΄Π°ΠΆΠ΅ Π² ΡΠ°Π·Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ) Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΡΠΎΠ±ΠΊΠ΅ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅Β».
Β«Kubernetes ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Docker, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΡΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΡΡΠ»ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ, ΠΏΠΎΠΌΠ½Ρ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ . ΠΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ GitOps (ΠΎ Π½ΠΈΡ Ρ ΠΏΠΈΡΠ°Π» Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅), ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½ΠΎΡΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ git-ΡΠ»ΠΈΡΠ½ΠΈΠ΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡΒ».
Β«ΠΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠΈΡΡΡΡ Docker ΠΈ Kubernetes, Π½ΠΎ ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠΈΡ. ΠΠ±Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠ΅. Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΎΠ½ΠΈ ΠΏΠΎΠΎΡΡΡΡΡ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Β», β ΡΡΠΈΡΠ°Π΅Ρ ΠΡΡΠ»ΡΡΠ°.
ΠΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠΡΡΠ»ΡΡΠ° ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ : Β«ΠΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ! ΠΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° β ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π° Π½ΠΎΠ²ΡΠΉ. ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ±ΠΎΠΉ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½ΡΠΌ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ» ΡΠΎ ΡΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ PHP, Π·Π°ΠΌΠ΅Π½ΡΡ ΠΈΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π½Π° PythonΒ». ΠΠΆΠ΅ΠΉΠΌΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»: Β«Π Π°Π±ΠΎΡΠ° Ρ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π½ΠΈΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΒ».
Π₯ΠΎΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΎΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ. ΠΡΡΠ»ΡΡΠ° ΡΠΎΠ²Π΅ΡΡΠ΅Ρ: Β«ΠΠ°Π΄ΠΎ Π·Π½Π°ΡΡ ΠΌΠ΅ΡΡ. ΠΠ΅Ρ ΡΠΌΡΡΠ»Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈ Π»ΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π΅Π»ΠΈΡΡΡΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΡΡ ΠΈΠ»ΠΈ ΡΡΠ΅Ρ ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π±Π΅Π· ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ Π½Π° ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Ρ. ΠΠ΅ Π½Π°Π΄ΠΎ ΡΠ°Π·Π΄ΡΠ²Π°ΡΡ ΡΡΠ΅ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ β ΡΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΌΠΎΠ³ΡΡ Π΄Π΅Π»ΠΈΡΡΡΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΈ Π½Π°ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΒ».
ΠΠ± Π°Π²ΡΠΎΡΠ΅
ΠΠΆΠ΅ΠΉΠΌΠ΅ ΠΡΡΠ»ΡΡΠ° (Jaime Buelta) β ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈ Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π° ΡΠ²ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅ΡΠ½ΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠ½ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈ ΠΎΡΡΠ°ΡΠ»Π΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΡΡΠΎΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΡΡ, ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ SCADA, ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ ΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ.
Π ΡΠΎΡΡΠ°Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΎΠ½ ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³, ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ, ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΈ Π³Π΅ΠΉΠΌΠ΄ΠΈΠ·Π°ΠΉΠ½. ΠΠΆΠ΅ΠΉΠΌΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΌ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Ρ ΠΎΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΡ ΡΡΠΆΠ΅Π»ΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² Π»ΡΠ΄ΡΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Π²Π΅ΡΠ°Ρ . Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΆΠΈΠ²Π΅Ρ Π² ΠΡΠ±Π»ΠΈΠ½Π΅ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ PyCon Π² ΠΡΠ»Π°Π½Π΄ΠΈΠΈ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PHP Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°?
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PHP Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ PHP ΠΈΠ΄Π΅Ρ Π² Π½ΠΎΠ³Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠ½ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ²ΠΈΡΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ traditional framework (laravel, yii, symfony) Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° Php ΡΡΡΠ΅ΠΊΡΠ° ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ.
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ fpm, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π½ΡΠ»Ρ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ Π²ΡΠΉΡΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ².
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈ Π½Π΅ Π·Π°ΡΠΈΡΠ°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ fpm ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ, ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² fpm ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈ ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π’Π°ΠΊΠΎΠ²Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ fpm.
ΠΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π΅Π½ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ docker, ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° nginx Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ»ΡΠ³.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΎΡ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Java ΡΠ΅ΠΉΡΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ PHP. ΠΠΎΠΌΠΈΠΌΠΎ PHP non-memory resident, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΡΠ΅Π±ΡΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Swoft ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Swoft?
Swoft β ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΊΠΎΡΡΡΠΈΠ½ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² PHP, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ Swoole. ΠΠ°ΠΊ ΠΈ Go, Swoft ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΎΠ±ΡΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΡΡΡΠΈΠ½, ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΡΠΌ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ PHP-FPM.
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ Go-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π³ΠΈΠ±ΠΊΠΈΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ Spring Cloud, ΠΌΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, Π³ΠΈΠ±ΠΊΠΎΠ΅ ΠΈ ΠΌΠΎΡΠ½ΠΎΠ΅ AOP (Aspect Oriented Programming), ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ PSR (PHP Standards Recommendations) ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Swoft Github
Π§ΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°?
ΠΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠ³
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠ³
ΠΠ°, Π² Swoft Π²ΡΠ΅ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ
ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Swoft
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π΅Ρ Π½Π°ΠΌ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·; ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π΄Π»Ρ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
ΠΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ; Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΡΠ» ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΡΠΎΠ³Π΄Π° ΠΊ ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π±ΡΠΊΠ΅Π½Π΄Π°. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Redis, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠΈΠΌ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠΌ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΡΠ°ΠΊ, Π΅ΡΡΡ Π»ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅? ΠΡΠ²Π΅Ρ β Π΄Π°, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Swoft. Swoft β ΡΡΠΎ RPC (Remote Procedure Call)-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ Service Governance. Swoft β ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠ»Π»-ΡΡΠ΅ΠΊ PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½ΡΠΉ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΡΡΠΈΠ½Π½ΡΠΉ, Π±Π°Π·ΠΈΡΡΡΡΠΈΠΉΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Spring Boot ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π°ΠΆΠ½Π΅Π΅ ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
Swoft ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ RPC-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Dubbo, ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΡ ΠΎΠΆΡΡ Ρ Golang. ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΡΠ΅ΡΡ-ΡΠ΅ΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Swoft Π½Π° ΠΌΠΎΠ΅ΠΌ PC.
Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΡΡΠ΅ΡΡ-ΡΠ΅ΡΡΠ΅ ab ΠΎΡΠ΅Π½Ρ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΠ΅Ρ. Π‘ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ i7 generation 8 ΠΈ ΠΏΠ°ΠΌΡΡΡΡ 16GB Π½Π° 100000 Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅Π³ΠΎ 5s. Π’Π°ΠΊΠΎΠ³ΠΎ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ fpm.
ΠΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ Swoft.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ consul/etcd. Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ swoft-consul Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Swoft.
Π Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·ΠΎΠΌΠΊΠ½ΡΡΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ±ΡΠΎΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ.
ΠΠ΄Π½ΠΎ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π»ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π·Π°ΠΊΡΡΡΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠΎΡΠΊΡΡΡΡΠΌ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½Ρ. ΠΠΎΠ³Π΄Π° ΡΡΠ»ΡΠ³Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠ·Π°ΡΠΈΡΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΡΠ°ΠΌΠΎΠ·Π°ΡΠΈΡΡ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°, ΡΠΎ ΠΏΡΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΡΠ°ΡΠΈΠΊΠ΅ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠ½Π΅Ρ, Π° Π±ΡΠΊΠ΅Π½Π΄ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° β ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ Π΄Π΅ΡΠΈΡΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ»ΡΡ-ΡΠ°ΡΠΏΡΠΎΠ΄Π°ΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΠ΅Π·Π°ΡΡ ΠΏΠΈΠΊΠΎΠ²ΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠ³Π»Π°Π΄ΠΈΡΡ ΠΊΡΠΈΠ²ΡΡ ΠΏΠΎΡΠΎΠΊΠ°.
Π¦Π΅Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° β ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π΅Π» ΡΠΊΠΎΡΠΎΡΡΠΈ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½, Π·Π°ΠΏΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Swoft Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΎΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² Π»ΡΠ±ΠΎΠΌ Π±ΠΈΠ½Π΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅Π½ΡΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΠ½ Π½Π°ΠΌ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡ ΡΡΡ-ΡΠΎ ΡΠΈΡΠ°ΡΠ° ΠΎΠ± ΡΡΠΎΠΌ:
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»Π΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠ»Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ (ΡΠ°ΠΉΠ»ΠΎΠΌ); Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠ΅Π½ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ);
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Apollo Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π½ΡΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Apollo, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Apollo ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Swoft ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Apollo.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Apollo Π² Swoft. ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Apollo ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ ( http-server / rpc-server / ws-server ). ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π°Π³Π΅Π½ΡΠ°:
ΠΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Apollo, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Swoft-Apollo ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π±ΡΠ» ΠΏΠΎΡΡΡΠΎΠ΅Π½. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠΈΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Swoft Π²ΡΠ΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅.
ΠΡΠ΅Ρ
ΠΆΠ΅Π»Π°ΡΡΠΈΡ
ΠΏΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ Π½Π° Π΄Π²ΡΡ
Π΄Π½Π΅Π²Π½ΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ² Β«ΠΠΈΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ Π±ΡΠΊΠ΅Π½Π΄ Π½Π° PHPΒ». ΠΠ° Π·Π°Π½ΡΡΠΈΠΈ:
— ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Docker ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ;
— Π‘Π»ΠΎΠΆΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· Π΄Π²ΡΡ
ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²;
— Π£Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Nginx ΠΈ PHP-FPM Π² ΡΠ²ΡΠ·ΠΊΠ΅ ΠΈ Π²Π½Π΅Π΄ΡΠΈΠΌ ΠΈΡ
Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ.
>> Π ΠΠΠΠ‘Π’Π ΠΠ¦ΠΠ―
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ (linux) ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΡΡΠ½Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²ΡΡΠ°Π΅ΡΡΡ ΡΠΈΡΠΊ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ Π² ΡΡΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ β Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ ΠΈ ΡΠΎΠΆΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ»Π°Π½Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, Π»ΠΎΠ³ΠΎΠ², ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π΅ΠΏΠ»ΠΎΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ bootstrap-ΠΊΠΎΠ΄Π° ΠΈΠ·-Π·Π° ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠΈΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΡΡΠΎ ΠΎΠ½ Π΄Π°ΡΡ ΠΏΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (performance, ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ). ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΎΠΌ, Π° ΠΏΠΎΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΡ β ΡΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅ΠΉ ΠΈ ΠΏΡΠΎΡΠ΅ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ°ΡΡΠ΅ΡΠ½Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ:
1. Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ β ΡΠ΅ΡΠ²ΠΈΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ²Π½ΠΎ ΠΊΠ°ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎ HTTP/REST, Π΄Π΅Π»Π°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΠΎ-ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΆΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ° (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ajax)
2. ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ β cΠ΅ΡΠ²ΠΈΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ²Π½ΠΎ ΠΏΠΎ HTTP/REST, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΡΡ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ job ID. ΠΠ»ΠΈΠ΅Π½Ρ ΠΎΠ±ΡΠ·Π°Π½ ΡΠ°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°Ρ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° (polling, aws transcoder)
3. ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ β ΡΠ΅ΡΠ²ΠΈΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ (Π΄Π΅ΠΌΠΎΠ½) Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°. Π‘Π»ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΡΡΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ
4. ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ MQ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ Π² ΡΠ΅Π±Π΅ ΠΈ ΡΠ°ΠΌ Π·Π½Π°Π΅Ρ ΠΊ ΠΊΠΎΠΌΡ ΠΊΡΠ΄Π° ΡΡΡΡΠ°ΡΡ
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΡΠΎ-Π±Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π±ΡΠ» Π΅Π΄ΠΈΠ½ΡΠΉ, Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ (JSON, protobuf, thrift, messagepack).ΠΠ»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΡΡΠΆΠ±Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, Π½Π°Π΄ΠΎ ΡΡΠ°Π²ΠΈΡΡ Consul, ETCDΠΈΠ»ΠΈ ZooKeeper β ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ IP Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ PID ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ.ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΠ»Π° ΠΎΡΠ΅Π½Ρ ΡΡΠΆΡΠ»Π°Ρ ΠΏΠΎ CPU, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ·-Π·Π° Π΄ΠΎΠ»Π³ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠΏΡΡΡΠΈΠΌ ΡΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ upload+resize+store Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 20 ΡΠ΅ΠΊΡΠ½Π΄ Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π²Ρ ΡΠ΅ΡΠ°Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π° Π΄Π»Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΊΡ Π² ΠΠ. ΠΡΠ»ΠΈΡΠ½ΠΎ, ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Π½Π΅ Π½Π°Π³ΡΡΠΆΠ°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ β ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ? ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΡΠ»ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈ Π²ΡΡ Π·Π° Π²Π°Ρ, ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΡ Π»ΠΈ Π½Π΅ Π²ΡΠ΅ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ ΡΠ°ΠΌ ΡΠ΅ΡΠ°ΠΉΠ· ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ.
ΠΠ΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Π½Π° PHP
ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ php Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ Π΄ΡΡΠ³Π°ΡΡΡΡ. Π’ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΌΠΈΠΊΡΠΎ-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΡΠΈΠΏΠ° Silex, SlimΠΈΠ»ΠΈ Lumen
ΠΠ΅ΠΌΠΎΠ½-ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ Π½Π° PHP
Π₯ΠΎΡΡ php ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ html ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ php ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡ Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² CLI ΡΠ΅ΠΆΠΈΠΌΠ΅. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, php Π΄Π΅ΠΌΠΎΠ½Ρ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Ρ ΠΈΠ·-Π·Π° ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ ΠΏΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π° nodejs ΠΈΠ»ΠΈ go. ΠΠ°ΠΏΡΡΡΠΈΡΡ Π΄Π΅ΠΌΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ..
Π‘ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ
Π£ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² (instance) ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π’ΠΎΠ³Π΄Π° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ β Π΄Π΅Π΄Π»ΠΎΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π·Π°ΠΏΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ log ΡΠ°ΠΉΠ» ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ±ΠΎ Π²ΡΡΠΌ ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅..
Π ΠΏΠΎΠΊΠ°, Π²ΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎ-ΠΊΠΎΠ΄ΠΎΠΌ:
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ
ΠΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° Π£ΠΠ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎΠ²Π½Π΅ bash, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°ΠΌΠΎΠ³ΠΎ php Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π°Π³ΠΎΠ² Π² Π±Π°Π·Π΅, ΡΠ»Π°Π³ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ shell. Π‘ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ, ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΠΊΠ»Π°ΡΡΡ Π² cron ΠΈ Π΄Π΅ΠΌΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠΌ (ΡΠ°Π· Π² ΠΌΠΈΠ½ΡΡΡ)
ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π΅ΠΌΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ· ΡΠ΅Π»Π»Π°..
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ³ΡΡΠ΅Π³ΠΎ nodejs, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ process manager, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈ php-Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ! Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ:
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΡΠ΅ β forever ΠΈ guvnor
ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ RabbitMQ
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², Π²Π΅ΡΠΎΡΡΠ½Π΅ΠΉ Π²ΡΠ΅Π³ΠΎ Π²Ρ ΡΡΠ°Π½Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½ Command, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² (workers). MQ-ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΈ ΡΠΈΠ½Ρ, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π·Π° ΡΠΎ ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΠ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ»ΠΎΠΆΠ½Π΅ΠΉ
ΠΠ»Ρ PHP-Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ rabbitMQ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ php-amqplib Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π½Π΅Ρ..
ΠΠΎΠ½ΡΡΠ½ΠΎ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅Π½Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΌ ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΠΎΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π½Π°ΡΠΈΡ Π½Π°Π΄ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ UI.
ΠΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ
ΠΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΡΠ·Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΠΈΡΡΡΡΡ Π½Π° nodejs, Π° Π»ΡΡΡΠ΅ Π½Π° Go.
ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³Π½Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠΉ ΡΠ΅ΡΡ, ΡΠΎ Ρ PHP Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ 300 req/s, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρ node 7000 req/s, Π° Ρ go 9000 req/s.
Π‘ Go ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΏΠ°ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ go-micro
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
ΠΠ°ΠΊ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π½Ρ? ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΎΠΏΠ°Π·Π΄ΡΠ²Π°ΡΡ ΠΊ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π½Ρ? ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°ΡΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡβ¦
ΠΠ°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π° ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆ ΡΠ°Π·Π²ΡΠ·Π°Π½Ρ ΡΡΠΊΠΈ? ΠΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΆΠ³ΡΡ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΏΡΡΡ? ΠΠΎΠ³Π΄Π° ΡΠ΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡβ¦
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π² ΠΊΡΡΡΠ΅ ΡΡΠΎ ΠΏΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, Π±ΡΠ°ΡΠ·Π΅Ρ ΡΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΏΠΎ