Как Quarkus обСдинява ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅

Π’Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ сСриозно Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ Ρ‚Π΅ΠΌΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Cloud-Native Java ΠΈ Kubernetes. Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅Π·ΠΈ Ρ‚Π΅ΠΌΠΈ Ρ‰Π΅ бъдС Ρ€Π°Π·ΠΊΠ°Π· Π·Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Quarkus, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ бСшС Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ Π² Π₯Π°Π±Ρ€Π°. Π”Π½Π΅ΡˆΠ½Π°Ρ‚Π° статия Π΅ посвСтСна Π½Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π½Π° устройството Π½Π° 'субатомната ΡΡƒΠΏΠ΅Ρ€ΡˆΠ²ΠΈΠ΄ΠΊΠ° Java', ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π½Π° пСрспСктивитС, ΠΊΠΎΠΈΡ‚ΠΎ Quarkus внася Π² Enterprise.

Как Quarkus обСдинява ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅

Java ΠΈ JVM всС ΠΎΡ‰Π΅ са ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ популярни, Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ микросСрвиси Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° JVM сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ всС ΠΏΠΎ-рядко, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π·Π°Π΅ΠΌΠ°Ρ‚ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ място Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ Ρ‚Π²ΡŠΡ€Π΄Π΅ Π±Π°Π²Π½ΠΎ, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ са подходящи Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ с ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΆΠΈΠ²Π΅Π΅Ρ‰ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π—Π° щастиС, Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚Π°Π·ΠΈ ситуация Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС промСня Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Quarkus.

Π‘ΡƒΠΏΠ΅Ρ€ΡˆΠ²ΠΈΠ΄ΠΊΠ° субатомна Java достигна Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ!

42 издания, 8 мСсСца Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° общността ΠΈ 177 нСвСроятни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ – Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ всичко Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€Π΅Π· Π½ΠΎΠ΅ΠΌΠ²Ρ€ΠΈ 2019 Π³ΠΎΠ΄ΠΈΠ½Π° Quarkus 1.0, ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ символизира Π²Π°ΠΆΠ½Π° Π²Π΅Ρ…Π° Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΌΠ½ΠΎΠ³ΠΎ страхотни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π·Π° тях ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π² аннонса).

ДнСс Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Quarkus обСдинява ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π°Π·Π° Π½Π° Π΅Π΄ΠΈΠ½Π½ΠΎ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ядро. Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° историята, Π° слСд Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π²ΡŠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ прСдимства.

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠΈ, управлявани ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ ΠΈ Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – всичко Ρ‚ΠΎΠ²Π° днСс Π΅ Π² ΠΏΠΎΠ΄Π΅ΠΌ. ΠžΡ‚ скоро ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ стана ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ, Π½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ – особСно Π·Π° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. НапримСр, ΠΏΡ€ΠΈ serverless Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ микросСрвизи ΠΈΠΌΠ° остра нСобходимост ΠΎΡ‚ намаляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° стартиранС, намаляванС Π½Π° Ρ€Π°Π·Ρ…ΠΎΠ΄Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ ΠΏΡ€Π°Π²Π΅Π½Π΅ Π½Π° тяхното Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ приятно. Java ΠΏΡ€Π΅Π· послСднитС Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈ няколко подобрСния, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈΡ‚Π΅ функционалности Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, постиганСто Π½Π° Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Java Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° бъдС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. Π—Π°Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° някои ΠΎΡ‚ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ трудности Π½Π° Java, ΠΊΠΎΠΈΡ‚ΠΎ особСно сС проявяват ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ Java прилоТСния.

НСка ΠΏΡŠΡ€Π²ΠΎ сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ към историята.

Как Quarkus обСдинява ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅

Нишки ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ вСрсия 8u131, Java Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π΄ΠΎ извСстна стСпСн, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° подобрСния Π² функционалността ergonomics. По-спСциално, сСга JVM Π·Π½Π°Π΅ Π½Π° ΠΊΠΎΠ»ΠΊΠΎ процСсорни ядра Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π΄Π° настройва ΠΏΡƒΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ – ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΡƒΠ»ΠΎΠ²Π΅ fork/join. Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ²Π° Π΅ страхотно, Π½ΠΎ Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΎ HTTP сСрвлСти ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ Π² Tomcat, Jetty ΠΈ Π΄Ρ€. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ Π·Π° всяка заявка ΠΈ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π° Π±Π»ΠΎΠΊΠΈΡ€Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° Π²Ρ…ΠΎΠ΄-ΠΈΠ·Ρ…ΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ услуги. ВоСст, Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Ρ‚Π°ΠΊΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ зависи Π½Π΅ ΠΎΡ‚ броя Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ядра, Π° ΠΎΡ‚ броя Π½Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ заявки. ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΊΠ²ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π»ΠΈΠΌΠΈΡ‚ΠΈΡ‚Π΅ Π² Kubernetes Π·Π° броя Π½Π° ядрата Ρ‚ΡƒΠΊ Π½Π΅ особСно Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚, Π° ситуацията Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‰Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠΈ с Ρ‚Ρ€ΠΎΡ‚Π»ΠΈΠ½Π³.

Π˜Π·Ρ‡Π΅Ρ€ΠΏΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°

ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ са ΠΏΠ°ΠΌΠ΅Ρ‚. Π’ΡŠΡ‚Ρ€Π΅ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈΡ‚Π΅ ограничСния Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π΅ са панацСя. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Ρ‚Π΅ броя Π½Π° прилоТСнията ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅, ΠΈ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Ρ‰Π΅ сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ‚Π΅ с ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ Ρ€ΡŠΡΡ‚ Π½Π° чСстотата Π½Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈΡΡ‚Π° ΠΈ, слСдоватСлно, с дСградация Π½Π° производитСлността. ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈ микросСрвисни Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²Π΅ ΠΈΠ»ΠΈ сС ΡΠ²ΡŠΡ€Π·Π²Π° с Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠ»ΠΈ Π°Π½Π³Π°ΠΆΠΈΡ€Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅, ΠΈΠ»ΠΈ ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ…Π°Ρ€Ρ‡ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚, Ρ‰Π΅ Π²ΠΈ Π΅ напълно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ Π²ΠΈ Π΅ Π½ΡƒΠΆΠ΅Π½ инструмСнт, позволяващ Π΄Π° Π½Π°Π΄Π·ΡŠΡ€Π½Π΅Ρ‚Π΅ Π² JVM ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ тя управлява ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π±Π΅Π· Π΄Π° ΡƒΠ±ΠΈΠ²Π°Ρ‚Π΅ самата JVM (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, XX:+UseCGroupMemoryLimitForHeap). И Π΄ΠΎΡ€ΠΈ Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΎΡ‚ Java 9 Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ JVM Π΅ Π½Π°ΡƒΡ‡ΠΈΠ»Π° Π΄Π° Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ° cgroups ΠΈ Π΄Π° сС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° остава доста слоТно.

ΠšΠ²ΠΎΡ‚ΠΈ ΠΈ Π»ΠΈΠΌΠΈΡ‚ΠΈ

Π’ Java 11 бСшС Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° CPU-ΠΊΠ²ΠΎΡ‚ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ PreferContainerQuotaForCPUCount). Kubernetes ΡΡŠΡ‰ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π»ΠΈΠΌΠΈΡ‚ΠΈ ΠΈ ΠΊΠ²ΠΎΡ‚ΠΈ. Π”Π°, всичко Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° смисъл, Π½ΠΎ Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈΠ·Π»Π΅Π·Π΅ извън Π·Π°Π΄Π°Π΄Π΅Π½Π°Ρ‚Π° ΠΊΠ²ΠΎΡ‚Π°, ΠΎΡ‚Π½ΠΎΠ²ΠΎ сС Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ към ситуацията, Π² която Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ – ΠΊΠ°ΠΊΡ‚ΠΎ Π² случая с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Java-прилоТСния – сС опрСдСля ΠΎΡ‚ броя Π½Π° ядрата ΠΈ с ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ Π·Π° всяка заявка, Ρ‚.Π΅. ΠΎΡ‚ всичко Ρ‚ΠΎΠ²Π° няма ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π·Π°.
ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠ²ΠΎΡ‚ΠΈ ΠΈ Π»ΠΈΠΌΠΈΡ‚ΠΈ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ (scale-out) ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π»Π΅ΠΆΠ°Ρ‰Π° Π² основата Π½Π° Kubernetes, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π½Π΅ сС Ρ€Π΅ΡˆΠ°Π²Π° сам ΠΏΠΎ сСбС си. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° основния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΠ»ΠΈ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка достигамС Π΄ΠΎ ΠΏΡ€Π΅Ρ€Π°Π·Ρ…ΠΎΠ΄ Π½Π° рСсурси. А Π°ΠΊΠΎ Ρ‚ΠΎΠ²Π° Π΅ високонапрСгната систСма Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎ, ΠΏΠΎΡ‡Ρ‚ΠΈ сигурно Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ рСсурси, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ наистина Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

И ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ с всичко Ρ‚ΠΎΠ²Π°?

Ако Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ асинхронни ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Π²Ρ…ΠΎΠ΄-ΠΈΠ·Ρ…ΠΎΠ΄ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²Π΅ ΠΊΠ°Ρ‚ΠΎ Netty, Vert.x ΠΈΠ»ΠΈ Akka. Π’Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-подходящи Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π·Π°Ρ€Π°Π΄ΠΈ своята Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°. ΠŸΠΎΡ€Π°Π΄ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΎΡ‚ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΎ взаимодСйствиС, ΡΡŠΡ‰ΠΈΡΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° няколко ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ запитвания. Π”ΠΎΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ Ρ‡Π°ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΎΡ‚ΠΎ взаимодСйствиС, ΠΏΠΎΡ‚ΠΎΠΊΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°, сС освобоТдава ΠΈ сС Π·Π°Π΅ΠΌΠ° с Π΄Ρ€ΡƒΠ³ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΎΡ‚ΠΎ взаимодСйствиС Π½Π°ΠΉ-накрая пристигнат, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°. Π§Ρ€Π΅Π· Ρ€Π΅Π΄ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° запитванията Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ общият Π±Ρ€ΠΎΠΉ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ рСсурсното ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° запитвания.

ΠŸΡ€ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΎΡ‚ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΎ взаимодСйствиС, броят Π½Π° ядрата става ΠΊΠ»ΡŽΡ‡ΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠΉ опрСдСля броя Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Ρ‚ΠΎΠ²Π° позволява Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ядрата ΠΈ справянС с ΠΏΠΎ-високи натоварвания ΠΏΡ€ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ рСсурси.

Как, ΠΈ Ρ‚ΠΎΠ²Π° всичко?

НС, ΠΈΠΌΠ° ΠΎΡ‰Π΅ Π½Π΅Ρ‰ΠΎ. Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΏΠΎΠΌΠ°Π³Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ рСсурситС, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠΌΠ° своята Ρ†Π΅Π½Π°. По-спСциално, ΠΊΠΎΠ΄ΡŠΡ‚ Ρ‰Π΅ трябва Π΄Π° бъдС прСнаписан Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° нСблокираност ΠΈ Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ. А Ρ‚ΠΎΠ²Π° Π΅ съвсСм Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ изпълнСниС. И ΠΌΠ°ΠΊΠ°Ρ€ Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚ΠΎΠ²Π° всС ΠΏΠ°ΠΊ Π΅ ΠΊΠΎΡ€Π΅Π½Π½Π° смяна Π½Π° обичайния Π½Π°Ρ‡ΠΈΠ½ Π½Π° мислСнС.

На ΠΏΡŠΡ€Π²ΠΎ място, трябва Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ сС изпълнява асинхронно. Π’Π΅Π΄Π½ΡŠΠΆ Π·Π°ΠΏΠΎΡ‡Π½Π°Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΎ взаимодСйствиС, Π²ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно Π΄Π° Π·Π°Π΄Π°Π²Π°Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° сС случи ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ Ρ‡Π°ΠΊΠ°Π½Π΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ВмСсто Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΈ повиквания, Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈΠ»ΠΈ continuation. Но ΠΈ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ всичко: Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΎΡ‚ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΎ взаимодСйствиС, са Π²ΠΈ Π½ΡƒΠΆΠ½ΠΈ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΈ Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π½ΠΎ Π΄Π° Π΅ навсякъдС. Π’ случая с HTTP всичко Π΅ просто, Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π‘Π”, Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

И ΠΌΠ°ΠΊΠ°Ρ€ Ρ‚ΠΎΡ‚Π°Π»Π½Π°Ρ‚Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° рСактивност Π΄Π° Π΄Π°Π²Π° максимална СфСктивност, Ρ‚Π°ΠΊΡŠΠ² ΠΏΡ€Π΅Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π·Π° усвояванС Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π—Π°Ρ‚ΠΎΠ²Π° способността Π΄Π° сС ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ става Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ условиС Π·Π° Ρ‚ΠΎΠ²Π°:

  1. Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ рСсурситС Π² Π½Π°ΠΉ-Π·Π°Π΅Ρ‚ΠΈΡ‚Π΅ направлСния Π½Π° софтуСрната систСма;
  2. Π”Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-прост стил Π½Π° ΠΊΠΎΠ΄Π° Π² останалитС части.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΠΌΠ΅ Quarkus

Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Quarkus Π΅ Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½Π° срСда Π·Π° изпълнСниС.

Π’ основата Π½Π° Quarkus Π»Π΅ΠΆΠ°Ρ‚ Vert.x ΠΈ Netty, Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° цяла ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΡƒΡŠΡ€ΠΊΠΎΠ²Π΅ ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Quarkus Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π½Π΅ само Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° HTTP микросСрвизи, Π½ΠΎ ΠΈ Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, управлявани ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ. ΠŸΠΎΡ€Π°Π΄ΠΈ своята Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°, Ρ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ с систСми Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ (Apache Kafka, AMQP ΠΈ Π΄Ρ€.).

Цялата хитрост Π΅ ΠΊΠ°ΠΊ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄.

Как Quarkus обСдинява ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅

Quarkus блСсти Π² Ρ‚ΠΎΠ²Π°. Π˜Π·Π±ΠΎΡ€ΡŠΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ – Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ ядро ΠΈ Π·Π° Π΄Π²Π΅Ρ‚Π΅. И Π² Ρ‚ΠΎΠ²Π°, с ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π°, Π΅ Π±ΡŠΡ€Π·ΠΈΡΡ‚ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· Ρ†ΠΈΠΊΡŠΠ»Π° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡΡ‚Π° (event-loop thread, извСстСн ΠΎΡ‰Π΅ ΠΊΠ°Ρ‚ΠΎ IO thread). Но Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ класичСски REST прилоТСния ΠΈΠ»ΠΈ клиСнтски прилоТСния, Quarkus Π΅ Π³ΠΎΡ‚ΠΎΠ² с ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅. НапримСр, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° HTTP Π² Quarkus Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° Π½Π° Π±Π°Π·Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» (Eclipse Vert.x ΠΈ Netty). Всички HTTP заявки, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½ΠΈ ΠΎΡ‚ Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡŠΡ€Π²ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ ΠΏΡ€Π΅Π· Ρ†ΠΈΠΊΡŠΠ»Π° Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡΡ‚Π° (IO Thread) ΠΈ слСд Ρ‚ΠΎΠ²Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π½Π° частта ΠΎΡ‚ ΠΊΠΎΠ΄Π°, която управлява заявкитС. Π’ зависимост ΠΎΡ‚ дСстинацията ΠΊΠΎΠ΄ΡŠΡ‚ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° заявкитС ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ (Ρ‚.Π½Π°Ρ€. worker thread, ΠΈΠ·ΠΏΠΎΠ»Π²Π°Π½ ΠΏΡ€ΠΈ сСрвлСти ΠΈ Jax-RS) ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° изходния Π²Ρ…ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ (Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ reactive route).

Как Quarkus обСдинява ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅

Π—Π° ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° систСмитС Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‰ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π²ΡŠΡ€Ρ…Ρƒ двигатСлят Vert.x. Π’Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΎΡ‚ систСми ΠΎΡ‚ клас messaging middleware.

На сайта Quarkus.io ΡΡŠΠ±Ρ€Π°Π½ΠΈ са няколко Π΄ΠΎΠ±Ρ€ΠΈ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²Π°, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π·Π° Π·Π°ΠΏΠΎΡ‡Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Quarkus:

ОсвСн Ρ‚ΠΎΠ²Π°, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…ΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ практичСски ΡƒΡ€ΠΎΡ†ΠΈ, Π·Π° Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ аспСкти Π½Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΊΠ°Ρ‚ΠΎ Π·Π° тяхното ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ само Π±Ρ€Π°ΡƒΠ·ΡŠΡ€, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° IDE, Π° ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ ΡƒΡ€ΠΎΡ†ΠΈ Ρ‚ΡƒΠΊ..

ПолСзни рСсурси

10 Π²ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠ° ΠΏΠΎ Quarkus, Π·Π° Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с Ρ‚Π΅ΠΌΠ°Ρ‚Π°

Как ΠΏΠΈΡˆΠ°Ρ‚ Π½Π° сайта Quarkus.io, Quarkus – Ρ‚ΠΎΠ²Π° Π΅ Kubernetes-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Java стСк, създадСн Π·Π° GraalVM ΠΈ OpenJDK HotSpot ΠΈ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ ΠΎΡ‚ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ Java Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ стандарти.

Π—Π° Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΠΌ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ‚Π΅ΠΌΠ°Ρ‚Π°, ΠΏΠΎΠ΄Π±Ρ€Π°Ρ…ΠΌΠ΅ 10 Π²ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠ°, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ аспСкти Π½Π° Quarkus ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅:

1. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΠΌΠ΅ Quarkus: Java Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΡ‚ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ Π·Π° Kubernetes

Автори: Вомас ΠšΠ²ΠΎΡ€Π½ΡΡ‚Ρ€ΠΎΠΌ (Thomas Qvarnstrom) ΠΈ Π”ΠΆΠ΅ΠΉΡΡŠΠ½ Π“Ρ€ΠΈΠΉΠ½ (Jason Greene)
Π¦Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Quarkus Π΅ Π΄Π° създадС Java ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° Kubernetes ΠΈ Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ срСди, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ ΠΈ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π² Π΅Π΄ΠΈΠ½Π½Π° срСда Π½Π° изпълнСниС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ гъвкаво Π΄Π° Π²Π°Ρ€ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° си ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° прилоТСния. НаучСтС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π²ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

2. Quarkus: ΡΠ²Ρ€ΡŠΡ…Π±ΡŠΡ€Π·Π° субатомна Java

Автор: Π‘Π»ΡŽΡ€ Π‘Π°Ρ‚Ρ‚Π΅Ρ€ (Burr Sutter)
Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ лСкцията DevNation Live ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Quarkus Π·Π° оптимизация Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΈ Java прилоТСния, API, микросСрвизи ΠΈ Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² срСда Kubernetes/OpenShift, ΠΏΡ€Π°Π²Π΅ΠΉΠΊΠΈ Π³ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ, ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΈ ΠΈ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΈ.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

3. Quarkus ΠΈ GraalVM: ускоряванС Π½Π° Hibernate Π΄ΠΎ ΡΠ²Ρ€ΡŠΡ… скорости ΠΈ компрСсиранС Π΄ΠΎ субатомни Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ

Автор: Π‘Π΅ΠΉΠ½ Π“Ρ€ΠΈΠ½ΠΎΠ²Π΅Ρ€ΠΎ (Sanne Grinovero)
ΠžΡ‚ прСзСнтацията Ρ‰Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ сС Π΅ появил Quarkus, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ ΠΊΠ°ΠΊ позволява Π½Π° комплСксни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ Hibernate ORM, Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΈ с Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΈ Π½Π° GraalVM.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

4. Π£Ρ‡ΠΈΠΌ сС Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ прилоТСния

Автор: ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π›ΡŽΡ‚Π΅Ρ€ (Marthen Luther)
Π’ΡŠΠ² Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ просто Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Quarkus ΠΈ Π΄Π° Π³ΠΎ Ρ€Π°Π·Π³ΡŠΡ€Π½Π΅Ρ‚Π΅ ΠΊΠ°Ρ‚ΠΎ Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Knative.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

5. Quarkus: ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΉΡ‚Π΅ с удоволствиС

Автор: Едсон Π―Π½Π°Π³Π° (Edson Yanaga)
Π’ΠΈΠ΄Π΅ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° създаванС Π½Π° вашия ΠΏΡŠΡ€Π²ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Quarkus, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π·Π°Ρ‰ΠΎ Quarkus ΠΏΠ΅Ρ‡Π΅Π»ΠΈ ΡΡŠΡ€Ρ†Π°Ρ‚Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

6. Java ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ – ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ бъдС Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ ΠΈΠΌ Π·Π°Π΅Π΄Π½ΠΎ

Автор: ΠœΠ°Ρ€ΠΊ Π›ΠΈΡ‚ΡŠΠ» (Mark Little)
Π’Π°Π·ΠΈ прСзСнтация Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π° с историята Π½Π° Java ΠΈ обяснява Π·Π°Ρ‰ΠΎ Quarkus Π΅ Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ Π½Π° Java.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

7. Quarkus: ΡΠ²Ρ€ΡŠΡ…Π±ΡŠΡ€Π·Π° субатомна Java

Автор: Димитрис АндрСадис (Dimitris Andreadis)
ΠžΠ±Π·ΠΎΡ€ Π½Π° прСдимствата Π½Π° Quarkus, ΠΊΠΎΠΈΡ‚ΠΎ спСчСлиха ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅: простота, ΡΠ²Ρ€ΡŠΡ…Π²ΠΈΡΠΎΠΊΠΈ скорости, Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ стандарти.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

8. Quarkus ΠΈ субатомни Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ систСми

Автор: ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ ЕскофиС (Clement Escoffier)
Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° интСграцията с GraalVM Quarkus ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΡΠ²Ρ€ΡŠΡ…Π±ΡŠΡ€Π·ΠΎ прСТивяванС ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ субатомна срСда Π·Π° изпълнСниС. ΠΠ²Ρ‚ΠΎΡ€ΡŠΡ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈ Π·Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° страна Π½Π° Quarkus ΠΈ ΠΊΠ°ΠΊ Π΄Π° я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ прилоТСния ΠΈ прилоТСния с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

9. Quarkus ΠΈ Π±ΡŠΡ€Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прилоТСния Π² Eclipse MicroProfile

Автор: Π”ΠΆΠΎΠ½ Клингън (John Clingan)
ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΠΉΠΊΠΈ Eclipse MicroProfile ΠΈ Quarkus, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ„ΠΈΠ»Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈ прилоТСния MicroProfile, ΠΊΠΎΠΈΡ‚ΠΎ сС стартират Π·Π° дСсСтки милисСкунди. Π’ΡŠΠ² Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ сС обсъТда ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MicroProfile Π·Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Kubernetes.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

10. Java, вСрсия β€žΠ’ΡƒΡ€Π±ΠΎβ€œ

Автор: ΠœΠ°Ρ€ΠΊΡƒΡ Π‘ΠΈΠ» (Marcus Biel)
ΠΠ²Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Quarkus Π·Π° създаванС Π½Π° супСрмалки ΠΈ ΡΠ²Ρ€ΡŠΡ…Π±ΡŠΡ€Π·ΠΈ Java ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват истински ΠΏΡ€ΠΎΠ±ΠΈΠ², особСно Π² serverless срСди.

Π’ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ


Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com
ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster