Таны мэдэж байгаагаар Java экосистем нь маш олон янзын газар бөгөөд бидэнд тулгардаг асуудлуудыг шийдвэрлэх олон арга зам байдаг.
Java экосистем хурдан өөрчлөгдөж байна. Хамгийн чухал өөрчлөлтүүдийн зарим нь бичил үйлчилгээ, контейнер, үүлэн тооцоололын өсөлтөөс үүдэлтэй. Эдгээр өөрчлөлтийг дэмжих олон шинэ хүрээ, хэрэгслүүд гарч ирснийг бид харсан.
Жишээлбэл, Spring Boot нь Java хөгжүүлэлтийн De Facto стандарт болсон. Үүний зэрэгцээ, Quarkus гэх мэт бусад хүрээнүүд цоорхойг нөхөж, нэмэлт функцээр хангах зорилгоор гарч ирэв.
Хэрэв та Java фрэймворкуудын тулааныг хайж байгаа бол Quarkus vs. Spring Boot-тай буруу явж болохгүй. Хоёр хүрээ хоёулаа давуу болон сул талуудтай боловч аль нь таны төсөлд тохирох вэ?
Энэ блог нийтлэлд бид Quarkus болон Spring Boot хоёрыг хооронд нь тулгаж аль нь дээр гарахыг харах болно. Энэ тулаанд хэн ялах вэ? Үүнийг мэдэхийн тулд уншина уу!
Хаврын гутал гэж юу вэ?
Spring Boot нь нээлттэй эх сурвалжтай, алдартай, хөнгөн жинтэй, хөгжүүлэгчдэд ээлтэй фрэймворк юм. Энэ нь бичихэд хялбар болгох зорилготой юм Java-д ашиглах боломжтой програмууд үүлэн дээр эсвэл ширээний компьютер дээрээ ажиллуул.
Spring Boot-ийн тусламжтайгаар Java-г эхлүүлэх нь илүү хялбар бөгөөд энэ нь микро үйлчилгээнд тохиромжтой.
Энэ нь тохиргооноос илүү код дээр анхаарлаа төвлөрүүлэх боломжийг олгодог бэлэн вэб програмын хүрээ юм. Spring Boot-ийн тусламжтайгаар та програмуудаа хурдан бөгөөд хялбар эхлүүлэх боломжтой.
Spring Boot нь хаврын тэмдэглэгээний багцыг өгдөг бөгөөд кодыг илүү тунхаглахад ашиглаж болно. Энэ нь нэлээдгүй хугацаанд бий болсон бөгөөд нэлээд сайн тогтсон бүтэц бөгөөд Apache License 2.0 лицензтэй.
онцлог
1. Буурцагны баталгаажуулалт
Spring Boot нь таны шошыг ангийн түвшинд баталгаажуулах боломжийг олгодог бөгөөд та шошны хувийн шинж чанарыг баталгаажуулах боломжтой. Баталгаажуулалт нь тэмдэглэгээг ашиглан хийгддэг тул та ямар нэгэн тусгай баталгаажуулалтын код бичих шаардлагагүй.
2. Өгөгдлийн хандалт
Spring Boot нь өгөгдөлд хандах хялбар арга юм. Та JdbcTemplate, JpaTemplate болон бусад загварт суурилсан өгөгдөлд хандах API-г ашиглан өгөгдлийн сантай холбоотой ажлуудад туслах боломжтой.
3. MVC
Энэ нь MVC загварыг дэмждэг бөгөөд MVC-ийн онцлог шинж чанаруудыг өгдөг. Энэ нь танд хурдан бөгөөд хялбар вэб програм үүсгэхэд тусална. Жишээлбэл, та REST API-г хэрэгжүүлэхийн тулд Spring MVC-г ашиглаж болно, Spring WebFlux-ийг Reactive Streams загвар ашиглан бүтээгдсэн вэб програмуудыг үүсгэхэд ашиглаж болно.
4 дугаартай Вэб
Spring Boot нь статик нөөц, статик файлын үйлчилгээ, вэб дээр суурилсан нэвтрэлт танилт зэрэг вэбтэй холбоотой хэд хэдэн функцийг тохируулах боломжийг олгодог.
5. Хаврын үүл
Энэ нь үүлэн дээр байрлуулж болох програмуудыг үүсгэх боломжийг олгодог. Та бусад үйлчилгээтэй харилцахад ашиглаж болох REST API үүсгэж болно. Та мөн өөр хоорондоо харилцаж, төвлөрсөн бус архитектурыг хангахад ашиглаж болох Spring-ээр ажилладаг микро үйлчилгээг үүсгэж болно.
Давуу тал
- Таны pom.xml файлын хамаарлыг хялбаршуулдаг
- Энэ нь суулгагдсан tomcat серверээр хангадаг бөгөөд үүнийг ашиглахад хялбар болгодог
- Хаврын гутал нь маш олон эхлэлтэй бөгөөд энэ нь ичээний горим, хаврын өгөгдөл гэх мэт алдартай технологийг ашиглаж эхлэхэд хялбар болгодог
- Энэ нь хяналт, бүртгэл, хамгаалалт гэх мэт маш олон боломжуудыг өгдөг
- Энэ нь "конвенц дээр тохируулга хийх" зарчмыг баримталдаг бөгөөд энэ нь эхлүүлэхэд хялбар болгодог
Байг
- Хаврын гутал нь бага зэрэг жинтэй тул эхлүүлэхэд удаан байж болно
- Энэ нь хамгийн бага хэрэглээний программ дээр сайн ажиллахгүй
- Хөгжүүлэгчид жинхэнэ "тарган сав" бүтээхийн тулд нэмэлт хүчин чармайлт гаргах хэрэгтэй.
- Хаврын ачаалах програмуудыг саванд хийхэд тийм ч хялбар байдаггүй
Quarkus гэж юу вэ?
Quarkus бол GraalVM & OpenJDK HotSpot-д зориулагдсан, хамгийн шилдэг Java номын сан, стандартаар бүтээгдсэн Kubernetes-ийн уугуул Java стек юм.
Quarkus нь реактив програмчлалын загварыг микро үйлчилгээтэй хослуулж, Java програмуудыг бичихийг дахин хөгжилтэй болгодог.
Quarkus-ийн тусламжтайгаар та Java програмуудыг бичиж болно:
- Үүлэн-уугуул болон чингэлэгт бэлэн
- Нөөц бага зарцуулдаг
- Илүү хурдан эхлүүлэх
- Бичих, засварлахад хялбар
Хэрэв та Java програмуудыг хурдан бөгөөд хялбар бичихэд тань туслах Kubernetes-д суурилсан Java стек хайж байгаа бол Quarkus бол таны хувьд зөв сонголт юм.
онцлог
1. Контейнер-уугуул
Quarkus бол чингэлэгт суурилсан бүтэц юм. Энэ нь Kubernetes орчинд ажиллахаар хийгдсэн гэсэн үг юм. Та Quarkus програм үүсгэж, түүнийг Kubernetes-д байрлуулж, бусад Kubernetes-д суурилсан програмуудтай ажиллахад ашиглаж болно.
2. Зэрэгцээ байдал
Quarkus нь микро үйлчилгээг дэмжих зориулалттай. Энэ нь зэрэгцээ болон хувиршгүй байдлын үндсэн дээр бүтээгдсэн Java програмчлалын шинэ загвар дээр суурилдаг. Програмчлалын шинэ загвар нь гүйцэтгэл, найдвартай байдлыг сайжруулахад тусалдаг. Үүний үр дүнд энэ нь зэрэгцэн холбоотой хэд хэдэн функцийг хангадаг, тухайлбал:
- Гүйлгээний нөөц
- Унших бичих түгжээ
- Үйл явдалд тулгуурласан гүйцэтгэл
- Кэш
- Rabbit MQ
- Үйл явдалд суурилсан чиглүүлэлт
3. Императив болон реактив програмчлалыг нэгтгэдэг
Quarkus нь зайлшгүй болон реактив програмчлалыг ашиглах боломжийг олгодог. Энэ нь сайжруулахад тусалдаг таны кодын чанар. Жишээлбэл, та гадаад ертөнцтэй харилцах боломжтой програмыг бий болгохын тулд императив програмчлалыг ашиглаж болно.
4. Full-Stack Application
Энэ нь тархсан систем үүсгэхэд ашиглаж болох бүрэн стек програм юм. Энэ нь Reactive Streams загвар дээр суурилсан бөгөөд JVM-г мессежийн автобус болгон ашигладаг. Үүний үр дүнд үүнийг Reactive Streams загварыг ашиглан барьсан тархсан системийг бий болгоход ашиглаж болно.
5. Гүйцэтгэл
Quarkus нь хурдан бөгөөд найдвартай байхаар бүтээгдсэн. Энэ нь танд контейнержүүлсэн орчинд ажиллах боломжтой програмуудыг бий болгоход тусална. Үүний үр дүнд энэ нь гүйцэтгэлтэй холбоотой олон функцийг хангадаг, тухайлбал:
- Тэг хуулбар байт код үүсгэх:
- Халуун дахин ачаалах
- Статик холболт
- Inline кэш
- Төрөлхийн гүйцэтгэл
- Процесс хоорондын харилцаа холбоо
Давуу тал
- Quarkus нь Spring Boot-аас хамаагүй хөнгөн тул микро үйлчилгээнд тохиромжтой
- Үүнийг эхлүүлэх хугацаа нь маш хурдан бөгөөд энэ нь үүлэн ашиглалтад тохиромжтой
- Quarkus нь GraalVM болон HotSpot-ийн дэмжлэгтэй эх Java стекээр хангадаг бөгөөд үүнийг гүйцэтгэл их шаарддаг програмуудад тохиромжтой болгодог.
- Кваркус бүрэн дүүрэн байна нээлттэй эх маш идэвхтэй хамт олонтой
Байг
- Quarkus нь харьцангуй шинэ хүрээ хэвээр байгаа тул Spring Boot-ийн зарим онцлог шинж чанар, төлөвшил дутмаг байна.
- Энэ нь Spring Boot-аас илүү сурахад хэцүү байж болно
- Quarkus программууд нь Spring Boot программуудыг бодвол саванд хийхэд илүү хэцүү байдаг.
Кваркус хаврын эсрэг – Эцсийн үг
Эцэст нь хэлэхэд, Spring Boot болон Quarkus хоёулаа бичил үйлчилгээ бий болгох маш сайн сонголт юм.
Гэсэн хэдий ч Quarkus нь Spring Boot-аас хурд, нөөц ашиглалтын хувьд зарим давуу талтай.
Хэрэв та хурдан бөгөөд хөнгөн хүрээ хайж байгаа бол Quarkus бол маш сайн сонголт юм. Гэхдээ хэрэв та илүү олон функцээр баялаг хүрээтэй байхыг хүсч байвал Spring Boot нь илүү сайн сонголт юм.
хариу үлдээх