Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° ΡΠ°ΠΌΠΊΠ°ΡΠ° Ergo 1.2, ΠΊΠΎΡΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π° ΠΏΡΠ»Π½ΠΈΡ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ Erlang ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° OTP Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Go. Π Π°ΠΌΠΊΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π³ΡΠ²ΠΊΠ°Π²ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠ²Π΅ΡΠ° Π½Π° Erlang Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° Go, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡ ΠΈ GenServer. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π΅Π·ΠΈΠΊΡΡ Go Π½ΡΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Erlang, ΡΠ°ΠΌΠΊΠ°ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° goroutines ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° GenServer Ρ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ Ρ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° TLS 1.3 Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ (Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ, Π½ΠΎ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° Π³ΠΎ ΠΎΡΠΎΡΠΈΠ·ΠΈΡΠ°ΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠ°, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Ρ ΠΎΡΡΠ°)
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅, Π·Π° Π΄Π° ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ° Π½Π° EPMD Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Ρ ΠΎΡΡ ΠΏΠΎΡΡΠ°. Π’ΠΎΠ²Π° ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ, Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ΡΠΎ, ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Erlang ΠΊΠ»ΡΡΡΠ΅Ρ Π² ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½ GenStage (ΠΎΡ ΡΠ²Π΅ΡΠ° Π½Π° Elixir), ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Pub/Sub ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Message Bus. ΠΠ΄Π½Π° ΠΎΡ Π²Π°ΠΆΠ½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ°Π±Π»ΠΎΠ½ Π΅ βΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ Π½Π°Π»ΡΠ³Π°Π½Π΅β. βΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»β ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΠΈ ΡΠΎΡΠ½ΠΎ ΠΎΠ±Π΅ΠΌΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎΠΈΡΠΊΠ°Π½ ΠΎΡ βΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρβ. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΡΡΠΊ.
ΠΠΈΡΠΊΡΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π» ΠΎΠ±ΡΡΠΆΠ΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ SAGAS, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru