ΠΠ²Π°Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ Π΄Π° ΡΠ°Π·Π²ΠΈΠ΅ΠΌΠ΅ ΡΠ΅ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ,
Java ΠΈ JVM ΡΓ¨ ΡΡΡΠ΅ ΡΠ΅ Π΅ΠΊΡΡΡΠ΅ΠΌΠ½ΠΎ ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈ, Π½ΠΎ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π±Π΅Π· ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ ΠΌΠ°ΡΡΠΈΠ½ ΠΎΠ±Π»Π°ΠΊ, Java ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅ JVM ΡΠ°Π·ΠΈΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΓ¨ ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π±ΠΈΠ΄Π΅ΡΡΠΈ Π·Π°Π·Π΅ΠΌΠ°Π°Ρ ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³Ρ Π±Π°Π²Π½ΠΈ Π·Π° Π²ΡΠΈΡΡΠ²Π°ΡΠ΅, ΡΡΠΎ Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΡΠ»Π°Π±ΠΎ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΡΠΎ ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ. ΠΠ° ΡΡΠ΅ΡΠ°, ΠΎΠ²Π°Π° ΡΠΈΡΡΠ°ΡΠΈΡΠ° ΡΠ΅Π³Π° ΠΏΠΎΡΠ½ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Quarkus.
Π‘ΡΠΏΠ΅ΡΠ±ΡΠ·Π°ΡΠ° ΡΡΠ±Π°ΡΠΎΠΌΡΠΊΠ° Java Π΄ΠΎΡΡΠΈΠ³Π½Π° Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ!
42 ΠΈΠ·Π΄Π°Π½ΠΈΡΠ°, 8 ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π²ΠΎ Π·Π°Π΅Π΄Π½ΠΈΡΠ°ΡΠ° ΠΈ 177 Π½Π΅Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ - ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΡΠ΅ΡΠΎ ΡΠΎΠ° Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π²ΠΎ Π½ΠΎΠ΅ΠΌΠ²ΡΠΈ 2019 Π³ΠΎΠ΄ΠΈΠ½Π°
ΠΠ΅Π½Π΅Ρ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Quarkus Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π²ΠΎ Π΅Π΄Π½ΠΎ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π΄ΡΠΎ. ΠΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠΎ ΠΊΡΠ°ΡΠΊΠ° ΠΈΡΡΠΎΡΠΈΡΠ°, Π° ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΠΎΠ΄ΠΈΠΌΠ΅ Π²ΠΎ Π΄Π΅ΡΠ°Π»ΠΈ Π·Π° ΡΠΎΠ° ΡΡΠΎ Π΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΡΠ°Π΄ΡΠΎ Π½Π° Π΄ΡΠ°Π»ΠΈΠ·ΠΌΠΎΡ Π½Π° ΠΠ²Π°ΡΠΊΡΡ ΠΈ ΠΊΠ°ΠΊΠΎ
ΠΡΠ²ΠΎ, Π΄Π° ΡΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΈΡΡΠΎΡΠΈΡΠ°ΡΠ°.
ΠΠΎΡΠΎΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ
ΠΠΎΡΠ½ΡΠ²Π°ΡΡΠΈ ΡΠΎ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 8u131, Java ΠΏΠΎΡΠ½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ°ΡΠ° Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° Π΅ΡΠ³ΠΎΠ½ΠΎΠΌΠΈΡΠ°ΡΠ°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, JVM ΡΠ΅Π³Π° Π·Π½Π°Π΅ Π½Π° ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠΊΠΈ ΡΠ°Π΄ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Π½ΠΈΡΠΊΠΈΡΠ΅ Π±Π°Π·Π΅Π½ΠΈ - Π²ΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΎ Π±Π°Π·Π΅Π½ΠΈ Π·Π° ΡΠ°Π·Π΄Π²ΠΎΡΡΠ²Π°ΡΠ΅ / ΡΠΏΠΎΡΡΠ²Π°ΡΠ΅ - ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ. Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΠΎΠ²Π° Π΅ ΠΎΠ΄Π»ΠΈΡΠ½ΠΎ, Π½ΠΎ Π΄Π° ΡΠ΅ΡΠ΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½Π° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ HTTP ΡΠ΅ΡΠ²Π»Π΅ΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ Tomcat, Jetty ΠΈΡΠ½. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, ΠΎΠ²Π°Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ΅ ΠΌΡ Π΄Π°Π΄Π΅ Π½Π° ΡΠ΅ΠΊΠΎΠ΅ Π±Π°ΡΠ°ΡΠ΅ ΠΏΠΎΡΠ΅Π±Π½Π° Π½ΠΈΡΠΊΠ° ΠΈ ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ° Π±Π»ΠΎΠΊΠΈΡΠ° ΠΎΠ²Π°Π° Π½ΠΈΡΠΊΠ° Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π·, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°ΠΊΠ²Π°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ Π±ΡΠΎΡΠΎΡ Π½Π° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠ°Π΄ΡΠ°, ΡΡΠΊΡ ΠΎΠ΄ Π±ΡΠΎΡΠΎΡ Π½Π° ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π°ΡΠ°ΡΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΠΎΠ²Π° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΠΊΠ²ΠΎΡΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°ΡΠ° Π²ΠΎ Kubernetes Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ°Π΄ΡΠ° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΎΠ΄ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΏΠΎΠΌΠΎΡ ΠΎΠ²Π΄Π΅, ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΡΠ°ΡΠΎΡ ΡΠ΅ Π·Π°Π²ΡΡΠΈ ΡΠΎ ΠΏΡΠΈΠ³ΡΡΡΠ²Π°ΡΠ΅.
ΠΡΡΡΠΏΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°
Π’Π΅ΠΌΠΈΡΠ΅ ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. Π ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π²ΠΎ Π½ΠΈΠΊΠΎΡ ΡΠ»ΡΡΠ°Ρ Π½Π΅ ΡΠ΅ Π»Π΅ΠΊ. Π‘Π°ΠΌΠΎ ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π±ΡΠΎΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π½ΠΈΡΠΊΠΈ ΠΈ ΠΏΠΎΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΡΠ½Π° ΡΠ΅ Π½Π°ΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ ΠΈ, ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΡΠ°ΠΌΠΊΠΈ Π·Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ, ΠΈΠ»ΠΈ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π° ΡΠΎ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΈΠ»ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ Π½Π° Π΄ΡΡΠ³ Π½Π°ΡΠΈΠ½ ΠΊΠΎΡΠΈΡΡΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ Π²ΠΈ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° Π°Π»Π°ΡΠΊΠ° ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Π²Π½Π°ΡΡΠ΅ Π²ΠΎ JVM ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠΎΡ ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π±Π΅Π· Π΄Π° ΡΠ° ΡΠ±ΠΈΠ΅. Π‘Π°ΠΌΠΈΠΎΡ JVM (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, XX:+UseCGroupMemoryLimitForHeap). Π ΠΈΠ°ΠΊΠΎ, ΠΎΠ΄ Java 9, JVM Π½Π°ΡΡΠΈ Π΄Π° ΠΏΡΠΈΡΠ°ΡΠ° cΠ³ΡΡΠΏΠΈ ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π°, ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΎΡΡΠ°Π½ΡΠ²Π° ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ²ΠΎΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°
ΠΠ°Π²Π° 11 Π²ΠΎΠ²Π΅Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠ²ΠΎΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ (ΠΊΠ°ΠΊΠΎ PreferContainerQuotaForCPUCount). Kubernetes ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½ΡΠ΄ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΈ ΠΊΠ²ΠΎΡΠΈ. ΠΠ°, ΡΠ΅ΡΠΎ ΠΎΠ²Π° ΠΈΠΌΠ° ΡΠΌΠΈΡΠ»Π°, Π½ΠΎ Π°ΠΊΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ° Π½Π°Π΄ΠΌΠΈΠ½Π΅ Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΊΠ²ΠΎΡΠ°, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° - ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΡΠ»ΡΡΠ°ΡΠΎΡ ΡΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ Java Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ - ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΎΠ΄ Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ°Π΄ΡΠ° ΠΈ ΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΏΠΎΡΠ΅Π±Π½Π° Π½ΠΈΡΠΊΠ° Π·Π° ΡΠ΅ΠΊΠΎΡΠ° Π±Π°ΡΠ°ΡΠ΅, ΡΠΎΠ³Π°Ρ ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΡ ΡΠΌΠΈΡΠ»Π° Π²ΠΎ ΡΠ΅ΡΠΎ ΠΎΠ²Π°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠ²ΠΎΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Kubernetes, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π° ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅. ΠΠ΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΡΠΎΡΠΈΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΏΡΠ²ΠΈΡΠ½ΠΈΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΠ»ΠΈ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΏΡΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅. Π Π°ΠΊΠΎ ΡΠΎΠ° Π΅ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠ°Π²Π΅Π½ ΡΠ°Π²Π΅Π½ ΠΎΠ±Π»Π°ΠΊ, ΡΠ΅ΡΠΈΡΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ ΠΎΡΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° Π½ΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ.
Π ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΠΎ ΡΠ΅ΡΠΎ ΠΎΠ²Π°?
ΠΠ΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈ Π/Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ°ΠΌΠΊΠΈ ΠΊΠ°ΠΊΠΎ Netty,
Π‘ΠΎ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ I/O, Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ°Π΄ΡΠ° ΡΡΠ°Π½ΡΠ²Π° ΠΊΠ»ΡΡΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ Π±ΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° Π±ΡΠΎΡΠΎΡ Π½Π° I/O Π½ΠΈΡΠΊΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. ΠΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΎΠ²Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°ΡΠ΅ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°Π΄ΡΠ°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ° ΡΠΎ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΡΠ΅ΡΡΡΡΠΈ.
ΠΠ°ΠΊΠΎ, ΡΠΎΠ° Π»ΠΈ Π΅ ΡΠ΅?
ΠΠ΅, ΠΈΠΌΠ° Π½Π΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎ. Π Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ ΠΈΡΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Π½ΠΎ ΠΈΠΌΠ° ΠΈ ΡΠ²ΠΎΡΠ° ΡΠ΅Π½Π°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, ΠΊΠΎΠ΄ΠΎΡ ΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½ΡΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° Π²Π»Π΅Π·Π½ΠΈ/ΠΈΠ·Π»Π΅Π·Π½ΠΈ Π½ΠΈΡΠΊΠΈ. Π ΠΎΠ²Π° Π΅ ΡΠΎΡΠ΅ΠΌΠ° ΠΏΠΎΠΈΠ½Π°ΠΊΠΎΠ² ΠΌΠΎΠ΄Π΅Π» Π½Π° ΡΠ°Π·Π²ΠΎΡ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅. Π ΠΈΠ°ΠΊΠΎ ΡΡΠΊΠ° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ΅ΠΏΠ°ΠΊ ΡΠΎΠ° Π΅ ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π²ΠΎ Π²ΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΈΠΎΡ Π½Π°ΡΠΈΠ½ Π½Π° ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°ΡΠ΅.
ΠΡΠ²ΠΎ, ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎ. ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π·, ΡΡΠ΅Π±Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ Π½Π° Π±Π°ΡΠ°ΡΠ΅. ΠΠ΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠ΅ΠΊΠ°ΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ΠΌΠ° Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°. ΠΠ°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ, Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΠ΅. ΠΠΎ, ΡΠΎΠ° Π½Π΅ Π΅ ΡΓ¨: Π·Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ I/O, ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π²ΠΈ ΡΠ΅ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ ΡΡΠΎ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π°Ρ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΏΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π°ΡΠ΅ΠΊΠ°Π΄Π΅. ΠΠΎ ΡΠ»ΡΡΠ°ΡΠΎΡ ΡΠΎ HTTP, ΡΓ¨ Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ, Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ²Π΅ΡΠ΅.
Π ΠΈΠ°ΠΊΠΎ Π²ΠΊΡΠΏΠ½Π°ΡΠ° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΎΠ΄ ΠΊΡΠ°Ρ Π΄ΠΎ ΠΊΡΠ°Ρ ΡΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠ° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ°, ΡΠ°ΠΊΠ²Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ°Π²Π΄Π° Π²ΠΎ ΠΏΡΠ°ΠΊΡΠ°. ΠΠ°ΡΠΎΠ°, ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΈ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ ΡΡΠ°Π½ΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ² Π·Π°:
- ΠΡΠΈΠΊΠ°ΡΠ½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ Π²ΠΎ Π½Π°ΡΠΎΠΏΡΠΎΠ²Π°ΡΠ΅Π½ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ;
- ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ ΡΡΠΈΠ»ΡΠΊΠΈ ΠΊΠΎΠ΄ Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ΅ΠΎΡΡΠ°Π½Π°ΡΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ.
ΠΠΈ Π³ΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΠΌΠ΅ ΠΠ²Π°ΡΠΊΡΡΠΎΡ
ΠΡΡΡΠ½ΠΎΡΡ, ΠΎΠ²Π° Π΅ ΡΡΡΡΠΈΠ½Π°ΡΠ° Π½Π° Quarkus - Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π°Ρ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎ Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄ΠΈΠ½Π° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅.
Quarkus ΡΠ΅ Π±Π°Π·ΠΈΡΠ° Π½Π° Vert.x ΠΈ Netty, ΡΠΎ Π½ΠΈΠ·Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΡΠ°ΠΌΠΊΠΈ ΠΈ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π½Π° Π²ΡΠ²ΠΎΡ Π·Π° Π΄Π° ΠΌΡ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ. Quarkus Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ HTTP ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ, ΡΡΠΊΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°Π½ΠΈ ΠΎΠ΄ Π½Π°ΡΡΠ°Π½ΠΈ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ²ΠΎΡΠ°ΡΠ° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΡΠΈΡΠΎΠ΄Π°, ΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³Ρ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ (Apache Kafka, AMQP, ΠΈΡΠ½.).
Π’ΡΠΈΠΊΠΎΡ Π΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΡΡΠΈΠΎΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠΎΡΠΎΡ ΠΈ Π·Π° ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΈ Π·Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄.
ΠΠ²Π°ΡΠΊΡΡ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΎΠ²Π° Π±ΡΠΈΠ»ΠΈΡΠ°Π½ΡΠ½ΠΎ. ΠΠ·Π±ΠΎΡΠΎΡ ΠΏΠΎΠΌΠ΅ΡΡ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ² ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠ²Π΅Π½ Π΅ ΠΎΡΠΈΠ³Π»Π΅Π΄Π΅Π½ - ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠ΅ΡΠ½Π΅Π» ΠΈ Π·Π° Π΄Π²Π΅ΡΠ΅. ΠΠ½Π° ΡΠΎ ΡΡΠΎ ΡΠΎΡ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΠΏΠΎΠΌΠ°Π³Π° Π΅ Π±ΡΠ·ΠΈΠΎΡ, Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ ΠΊΠΎΠ΄ ΠΊΠΎΡ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ ΡΠ΅ΡΠΈΡΠΈ ΡΓ¨ ΡΡΠΎ ΠΌΠΈΠ½ΡΠ²Π° Π½ΠΈΠ· Π½ΠΈΡΠΊΠ°ΡΠ° Π½Π° ΡΠΈΠΊΠ»ΡΡΠΎΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ, Π°ΠΊΠ° IO Π½ΠΈΡΠΊΠ°. ΠΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ»Π°ΡΠΈΡΠ½ΠΈ REST ΠΈΠ»ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° ΡΡΡΠ°Π½Π°, Quarkus ΠΈΠΌΠ° ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π³ΠΎΡΠΎΠ². ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° HTTP Π²ΠΎ Quarkus ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠΎΡΠΎΡ (Eclipse Vert.x ΠΈ Netty). Π‘ΠΈΡΠ΅ HTTP Π±Π°ΡΠ°ΡΠ° ΡΡΠΎ Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π° Π²Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠ²ΠΎ ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ Π½ΠΈΠ· ΡΠΈΠΊΠ»ΡΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ (IO Thread), Π° ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ Π΄ΠΎ Π΄Π΅Π»ΠΎΡ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ ΡΡΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ Π±Π°ΡΠ°ΡΠ°ΡΠ°. ΠΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡΠ°ΡΠ°, ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π±Π°ΡΠ°ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ° Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° Π½ΠΈΡΠΊΠ° (Ρ.Π½. ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ Π½ΠΈΡΠΊΠ°, ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠ΅ΡΠ²Π»Π΅ΡΠΈ ΠΈ Jax-RS) ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΠ·Π²ΠΎΡΠ½Π°ΡΠ° I/O Π½ΠΈΡΠΊΠ° (ΡΠ΅Π°ΠΊΡΠΈΠ²Π½Π° ΡΡΡΠ°).
ΠΠΎΠ½Π΅ΠΊΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΡΠΎ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π°Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΠΌΠΎΡΠΎΡΠΎΡ Vert.x. ΠΠ°ΡΠΎΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅, ΠΏΡΠΈΠΌΠ°ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΎΠ΄ ΡΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ.
ΠΠ° ΡΠ°ΡΡΠΎΡ
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΡΡΡΠΈ Π Π΅Π°ΠΊΡΠΈΠ²Π½ΠΈ SQL ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Apache Kafka ΡΠΎ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° AMQP ΡΠΎ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Vertx API
Π‘ΠΎΠ·Π΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΈ ΠΎΠ½Π»Π°ΡΠ½ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΡΠΏΠ°ΡΡΡΠ²Π° Π·Π° Π΄Π° Π²Π΅ Π½Π°ΡΡΠΈΠΌΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ, Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ IDE ΠΈ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ Π½Π°ΡΠ΄Π΅ΡΠ΅ ΠΎΠ²ΠΈΠ΅ Π»Π΅ΠΊΡΠΈΠΈ
ΠΠΎΡΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ
4 ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ±Π°ΡΠ΅ Quarkus - ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Quarkus -
ΠΊΠ²Π°ΡΠΊΡΡ.io - ΠΡΠΎΠ΅ΠΊΡΠΎΡ Quarkus Π½Π° GitHub -
github.com/quarkusio/quarkus - ΠΡΠΎΠ΅ΠΊΡΠΎΡ ΠΠ²Π°ΡΠΊΡΡ Π’Π²ΠΈΡΠ΅Ρ β
twitter.com/QuarkusIO - Π Π°Π·Π³ΠΎΠ²ΠΎΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Quarkus -
quarcusio.zulipchat.com - Π€ΠΎΡΡΠΌΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Quarkus -
group.google.com/forum/# !ΡΠΎΡΡΠΌ/quarkus-dev
10 Π²ΠΈΠ΄Π΅ΠΎ Π»Π΅ΠΊΡΠΈΠΈ Π·Π° Quarkus Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ ΡΠΎ ΡΠ΅ΠΌΠ°ΡΠ°
ΠΠ°ΠΊΠΎ ΡΡΠΎ Π²Π΅Π»Π°Ρ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°
ΠΠ° Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΠΌΠ΅ Π΄Π° ΡΠ° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ΅ΠΌΠ°ΡΠ°, ΠΈΠ·Π±ΡΠ°Π²ΠΌΠ΅ 10 Π²ΠΈΠ΄Π΅ΠΎ ΡΠΏΠ°ΡΡΡΠ²Π° ΠΊΠΎΠΈ ΠΎΠΏΡΠ°ΡΠ°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° Quarkus ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π°:
1. ΠΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Quarkus: The Next Generation Java Framework for Kubernetes
ΠΠ΄ Π’ΠΎΠΌΠ°Ρ ΠΠ²Π°ΡΠ½ΡΡΡΠΎΠΌ ΠΈ ΠΠ΅ΡΡΠΎΠ½ ΠΡΠΈΠ½
Π¦Π΅Π»ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Quarkus Π΅ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ Java ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Kubernetes ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ Π±Π΅Π· ΡΠ΅ΡΠ²Π΅ΡΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π°Ρ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π²ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ ΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΎ Π΄Π° Π³ΠΎ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π½ΠΈΠ²Π½ΠΈΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ ΠΊΠΎΠ³Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ ΡΠΈΡΠΎΠΊ ΠΎΠΏΡΠ΅Π³ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΊΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΠΎΠ·Π½Π°ΡΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΠΎ Π²ΠΎΠ²Π΅Π΄Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ»Ρ.
2. ΠΠ²Π°ΡΠΊΡΡ: Π‘ΡΠΏΠ΅ΡΠ±ΡΠ·Π° ΡΡΠ±Π°ΡΠΎΠΌΡΠΊΠ° ΠΠ°Π²Π°
ΠΠ΄: ΠΡΡ Π‘Π°ΡΠ΅Ρ
ΠΠ²ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΡΠΎΡΠΈΡΠ°Π» ΠΎΠ΄ DevNation Live Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Quarkus Π·Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π°Ρ ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΡΠ°ΡΠ° Java Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, API, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΡΠ΅ΡΠ²Π΅Ρ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π° Kubernetes/OpenShift, ΡΡΠΎ Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠΌΠ°Π»ΠΈ, ΠΏΠΎΠ±ΡΠ·ΠΈ ΠΈ ΠΏΠΎΡΠΊΠ°Π»Π°Π±ΠΈΠ»Π½ΠΈ.
3. Quarkus ΠΈ GraalVM: Π·Π°Π±ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° Hibernate Π΄ΠΎ ΡΡΠΏΠ΅Ρ Π±ΡΠ·ΠΈΠ½ΠΈ ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π΄ΠΎ ΡΡΠ±Π°ΡΠΎΠΌΡΠΊΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½ΠΈ
ΠΠ²ΡΠΎΡ: Π‘Π°Π½Π΅ ΠΡΠΈΠ½ΠΎΠ²Π΅ΡΠΎ
ΠΠ΄ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ Π΄ΠΎΠ·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎ Π½Π°ΡΡΠ°Π½Π°Π» Quarkus, ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΈ ΠΊΠ°ΠΊΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ Hibernate ORM, ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΡΠΎ ΠΌΠ°ΡΡΠΈΠ½ ΡΠ»ΠΈΠΊΠΈ Π½Π° GraalVM.
4. ΠΠ°ΡΡΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π±Π΅Π· ΡΠ΅ΡΠ²Π΅Ρ
ΠΠ²ΡΠΎΡ: ΠΠ°ΡΡΠΈΠ½ ΠΡΡΠ΅Ρ
ΠΠΈΠ΄Π΅ΠΎΡΠΎ ΠΏΠΎΠ΄ΠΎΠ»Ρ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π° Java Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Quarkus ΠΈ Π΄Π° ΡΠ° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π±Π΅Π· ΡΠ΅ΡΠ²Π΅Ρ Π½Π° Knative.
5. ΠΠ²Π°ΡΠΊΡΡ: ΠΠ°Π±Π°Π²ΡΠ²Π°ΡΡΠ΅ ΡΠ΅ ΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅
ΠΠ²ΡΠΎΡ: ΠΠ΄ΡΠΎΠ½ ΠΠ°Π½Π°Π³Π°
ΠΠΈΠ΄Π΅ΠΎ Π²ΠΎΠ΄ΠΈΡ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° Π²Π°ΡΠΈΠΎΡ ΠΏΡΠ² ΠΏΡΠΎΠ΅ΠΊΡ Quarkus, ΠΊΠΎΡ ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π·ΠΎΡΡΠΎ Quarkus Π³ΠΈ ΠΎΡΠ²ΠΎΡΡΠ²Π° ΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅.
6. ΠΠ°Π²Π° ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ - ΠΊΠ°ΠΊΠ²Π° ΡΠ΅ Π±ΠΈΠ΄Π΅ Π½ΠΈΠ²Π½Π°ΡΠ° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΠΈΠ΄Π½ΠΈΠ½Π°
ΠΠ±ΡΠ°Π²Π΅Π½ΠΎ ΠΎΠ΄ ΠΠ°ΡΠΊ ΠΠΈΡΠ»
ΠΠ²Π°Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠ° Π²ΠΎΠ²Π΅Π΄ΡΠ²Π° ΠΈΡΡΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΠΠ°Π²Π° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ²Π° Π·ΠΎΡΡΠΎ Quarkus Π΅ ΠΈΠ΄Π½ΠΈΠ½Π°ΡΠ° Π½Π° ΠΠ°Π²Π°.
7. ΠΠ²Π°ΡΠΊΡΡ: Π‘ΡΠΏΠ΅ΡΠ±ΡΠ·Π° ΡΡΠ±Π°ΡΠΎΠΌΡΠΊΠ° ΠΠ°Π²Π°
ΠΠ²ΡΠΎΡ: ΠΠΈΠΌΠΈΡΡΠΈΡ ΠΠ½Π΄ΡΠ΅Π°Π΄ΠΈΡ
ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Quarkus ΠΊΠΎΠΈ Π΄ΠΎΠ±ΠΈΡΠ° ΠΏΡΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅: Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΡ, ΡΠ»ΡΡΠ° Π²ΠΈΡΠΎΠΊΠΈ Π±ΡΠ·ΠΈΠ½ΠΈ, Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈ.
8. ΠΠ²Π°ΡΠΊΡΡ ΠΈ ΡΡΠ±Π°ΡΠΎΠΌΡΠΊΠΈ ΡΠ°ΠΊΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
ΠΠ²ΡΠΎΡ: ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΡΠΊΠΎΡΠΈΠ΅Ρ
ΠΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠΎ GraalVM, Quarkus ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ»ΡΡΠ°-Π±ΡΠ·ΠΎ ΡΠ°Π·Π²ΠΎΡΠ½ΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ ΠΈ ΡΡΠ±Π°ΡΠΎΠΌΡΠΊΠΎ ΠΎΠΏΠΊΡΡΠΆΡΠ²Π°ΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π΅ΡΠ΅. ΠΠ²ΡΠΎΡΠΎΡ Π·Π±ΠΎΡΡΠ²Π° Π·Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΡΡΡΠ°Π½Π° Π½Π° Quarkus ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π°Ρ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΡΡΡΠΈΠΌΠΈΠ½Π³ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
9. ΠΠ²Π°ΡΠΊΡΡ ΠΈ Π±ΡΠ· ΡΠ°Π·Π²ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ Eclipse MicroProfile
ΠΠ²ΡΠΎΡ: ΠΠΎΠ½ ΠΠ»ΠΈΠ½Π³Π°Π½
Π‘ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Eclipse MicroProfile ΠΈ Quarkus, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅ΠΌΠ΅Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° MicroProfile ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π°Π°Ρ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠΈΠ΄Π΅ΠΎΡΠΎ ΡΠΎΠ΄ΡΠΆΠΈ Π΄Π΅ΡΠ°Π»ΠΈ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΠ·ΠΈΡΠ°Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° MicroProfile Π·Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Kubernetes.
10. ΠΠ°Π²Π°, Π²Π΅ΡΠ·ΠΈΡΠ° βΠ’ΡΡΠ±ΠΎβ.
ΠΠ²ΡΠΎΡ: ΠΠ°ΡΠΊΡΡ ΠΠΈΠ΅Π»
ΠΠ²ΡΠΎΡΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Quarkus Π·Π° Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΡΡΠΏΠ΅Ρ-ΠΌΠ°Π»ΠΈ, ΡΡΠΏΠ΅Ρ-Π±ΡΠ·ΠΈ Java ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ΠΎΡΠΊΡΠΈΡΠΈΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ Π±Π΅Π· ΡΠ΅ΡΠ²Π΅ΡΠΈ.
ΠΠ·Π²ΠΎΡ: www.habr.com