JavaRush /ื‘ืœื•ื’ Java /Random-HE /ืžื’ืžื•ืช Java ืœืฉื ืช 2021: Kotlin, Microservices Architecture ...

ืžื’ืžื•ืช Java ืœืฉื ืช 2021: Kotlin, Microservices Architecture ื•-Kubernetes

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ืขื•ืœื ื”ืคื™ืชื•ื— ืžืฉืชื ื” ืžื”ืจ ืžืื•ื“. ื›ื“ื™ ืœื”ืชืขื“ื›ืŸ ื‘ืฉื™ื ื•ื™ื™ื, ืืชื” ืฆืจื™ืš ืœื”ื‘ื™ืŸ ืžื” ืงื•ืจื” ื‘ืขื•ืœื ื”ื–ื”. ื”ื›ืจืช ื”ื˜ืจื ื“ื™ื ืžืืคืฉืจืช ืœืš ืœื”ืกืชื’ืœ ืœื˜ืจื ื“ื™ื ื”ืžืฉืชื ื™ื ื‘ืžื”ื™ืจื•ืช. ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช, ืขืœื™ื™ื” ื‘ืžืกืคืจ ื”ืื™ื ื˜ื’ืจืฆื™ื•ืช ื•ื”ืื™ื ื˜ืจื ื˜ ืฉืœ ื”ื“ื‘ืจื™ื ื”ื ืจืง ื—ืœืง ืžืžื’ืžื•ืช ื”ืชื›ื ื•ืช ื”ืขื•ืœืžื™ื•ืช. JavaRush ืฉืืœ ืืช ืžื•ืžื—ื” ื”ืชื›ื ื•ืช ื•ื”ืžืจืฆื” ืฉืœ Java, ืื ื“ืจื™ื™ ืจื•ื“ื™ื•ื ื•ื‘, ืžื” ื™ืงืจื” ืœื’'ืื•ื•ื” ื‘-2021.ืžื’ืžื•ืช Java ื‘ืฉื ืช 2021: ืงื•ื˜ืœื™ืŸ, ืืจื›ื™ื˜ืงื˜ื•ืจืช ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื ื•-Kubernetes - 1

ืœืื™ืœื• ืชื—ื•ืžื™ื Java ืขื“ื™ื™ืŸ ื”ืคืชืจื•ืŸ ื”ื™ื—ื™ื“?

Java ื‘ืขืชื™ื“ ื”ืงืจื•ื‘ ืชื™ืฉืืจ ืื—ืช ื”ืคืœื˜ืคื•ืจืžื•ืช ื”ืขื™ืงืจื™ื•ืช ืœืคื™ืชื•ื— ื™ื™ืฉื•ืžื™ื ืืจื’ื•ื ื™ื™ื ( ื›ืœื•ืžืจ, ื™ื™ืฉื•ืžื™ื ืืจื’ื•ื ื™ื™ื ื”ืžืฉืžืฉื™ื ื—ื‘ืจื•ืช ื’ื“ื•ืœื•ืช ืœื”ืจื•ื•ื™ื— ื›ืกืฃ. ืœื™ื™ืฉื•ืžื™ื ื›ืืœื” ื™ืฉ ื‘ืกื™ืก ืงื•ื“ ื’ื“ื•ืœ ื•ื“ืจื™ืฉื•ืช ืืžื™ื ื•ืช ื’ื‘ื•ื”ื•ืช - ed. ) ื•-backend. Java ืžืฉืชืœื‘ืช ื”ื™ื˜ื‘ ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื, ืื ื›ื™ ื”ื™ื ืœื ื”ืืœื˜ืจื ื˜ื™ื‘ื” ื”ื™ื—ื™ื“ื” ืœื›ืชื™ื‘ืช ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื.

ืžื” ื”ื ื”ืกื™ื›ื•ื™ื™ื ืœืฉืคื•ืช JVM ืื—ืจื•ืช, ื‘ืคืจื˜ Kotlin, ื‘ื”ืฉื•ื•ืื” ืœ-Java?

ืœืื—ืจ ื”ื”ื™ื™ืค ืกื‘ื™ื‘ ืฉืคื•ืช Groovy ื•-Scala, ืงื•ื˜ืœื™ืŸ ื”ื™ื ื›ื™ื•ื ืฉืคืช ื”-JVM ื”ืžื•ื‘ื™ืœื” . ื–ื” ื›ื‘ืจ ื”ืคืš ืœืกื˜ื ื“ืจื˜ ืœืคื™ืชื•ื— ืื ื“ืจื•ืื™ื“, ืื‘ืœ ื‘ืขื•ืœื ื”ืืจื’ื•ื ื™ื ืฉืœ Java ื”ื•ื ืขื“ื™ื™ืŸ ืœื ื–ื›ื” ื‘ืžืงื•ืžื•. ืžืกื’ืจื•ืช ืคื•ืคื•ืœืจื™ื•ืช ืจื‘ื•ืช ( Spring , Vert.x , gRPC , RSocket ) ืžืกืชืžื›ื•ืช ื’ื ืขืœ ื–ื”, ื•ืžืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘ื• ื‘ืชื•ืš ืขืฆืžืŸ.

Kotlin ื”ื™ื ืฉืคืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ื‘ื”ืงืœื“ื” ืกื˜ื˜ื™ืช ื”ืคื•ืขืœืช ืขืœ ื’ื‘ื™ ื”-Java Virtual Machine ื•ืžืคื•ืชื—ืช ืขืœ ื™ื“ื™ JetBrains. ื›ืžื• ื›ืŸ, ืงื•ืžืคื™ืœืฆื™ื” ืœ-JavaScript ื•ืœืงื•ื“ ื”ืคืขืœื” ื‘ืžืกืคืจ ืคืœื˜ืคื•ืจืžื•ืช ื‘ืืžืฆืขื•ืช ืชืฉืชื™ืช LLVM.

ืชื›ื•ื ื•ืช Kotlin: ืงื•ืžืคื™ืœืฆื™ื” ืœ-JVM bytecode ืื• JavaScript, ืงื•ื“ ืคืชื•ื—, ืชื—ื‘ื™ืจ ืงืœ ืœืงืจื™ืื”, ืชื•ื›ื ื™ื•ืช Kotlin ื™ื›ื•ืœื•ืช ืœื”ืฉืชืžืฉ ื‘ืžืกื’ืจื•ืช ื•ืกืคืจื™ื•ืช Java ืงื™ื™ืžื•ืช.

ื”ืื ืชื”ื™ื” ื™ืจื™ื“ื” ื‘ืื™ื›ื•ืช Java ืขืงื‘ ืžืจื•ื•ื—ื™ ืฉื—ืจื•ืจ ืงืฆืจื™ื ื™ื•ืชืจ?

ื–ื” ืœื ื™ืงืจื”: ืจืง ื—ื™ื“ื•ืฉื™ื ื‘ืฉืคื” ื™ืฉื•ื—ืจืจื• ื›ืฉื”ื ืžื•ื›ื ื™ื, ื‘ืžืงื•ื ืœื”ืžืชื™ืŸ ืžืกืคืจ ืฉื ื™ื ืขื“ ืœื’ืจืกื” ื”ื‘ืื”, ื›ืคื™ ืฉื”ื™ื” ื‘ืขื‘ืจ. ื›ืžื” ืžื”ื“ื•ืจื•ืช ื™ื™ืฉืืจื• ืžืขื™ื ื™ื”ื ืฉืœ ืžืคืชื—ื™ื, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืœื ื™ื‘ื™ืื• ื—ื™ื“ื•ืฉื™ื ืกื•ืคืจ ืคื•ืคื•ืœืจื™ื™ื.

ืžืกื’ืจืช ืื‘ื™ื‘: ื”ืื ื”ื™ื ืชืžืฉื™ืš ืœื”ืจื—ื™ื‘ ืืช ื”ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ืฉืœื” ื›ื“ื™ ืœื”ืชืื™ื ืœืฆืจื›ื™ื ืžื’ื•ื•ื ื™ื?

ื”ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ืฉืœ ืื‘ื™ื‘ ืžืžืฉื™ื›ื” ืœื”ืชืคืชื— ื‘ืื•ืคืŸ ืคืขื™ืœ, ื•ืื ื™ ืžื’ืœื” ืžืขืช ืœืขืช ืขื•ื“ ืžืชืช-ืคืจื•ื™ืงื˜ื™ื ืฉืœื”, ืฉืžืขื•ืœื ืœื ืฉืžืขืชื™ ืขืœื™ื• ืงื•ื“ื. ืจืื•ื™ ืœืฆื™ื™ืŸ ื’ื ืฉ-Project Reactor ื•-r2dbc, ืฉื”ื•ืคื™ืขื• ื›ืชืชื™-ืคืจื•ื™ืงื˜ื™ื ืฉืœ Spring, ื›ืขืช ื ื™ืชืŸ ืœื•ืžืจ ืฉื”ื ื”ืคื›ื• ืœืกื˜ื ื“ืจื˜ื™ื ืขื‘ื•ืจ ื”ื’ื™ืฉื” ื”ืจื™ืืงื˜ื™ื‘ื™ืช.

Project Reactor ื”ื™ื ืกืคืจื™ื™ืช Java 8 ื”ืžื™ื™ืฉืžืช ืืช ืžื•ื“ืœ ื”ืชื›ื ื•ืช ื”ืจื™ืืงื˜ื™ื‘ื™. ื”ื•ื ื‘ื ื•ื™ ืขืœ ื’ื‘ื™ ืžืคืจื˜ Reactive Streams, ืชืงืŸ ืœื‘ื ื™ื™ืช ื™ื™ืฉื•ืžื™ื ืจื™ืืงื˜ื™ื‘ื™ื™ื.

R2DBC (Reactive Relational Database Connectivity) ื”ื•ื ืคืจื•ื™ืงื˜ ืงื•ื“ ืคืชื•ื— ื”ืžื•ืงื“ืฉ ืœืชื›ื ื•ืช ืจื™ืืงื˜ื™ื‘ื™ ืขื‘ื•ืจ SQL.

ืžื”ืŸ ื”ืžื’ืžื•ืช ื‘ืคื™ืชื•ื— ืชืฉืชื™ื•ืช ืขื ืŸ IaaS, SaaS, PaaS? ื›ื™ืฆื“ ื”ืขื ืŸ ืžืงืœ ืขืœ ืคื™ืชื•ื—, ืคืจื™ืกื”, ืชื—ื–ื•ืงื” ื•ื”ืจื—ื‘ื” ืฉืœ ืชืฉืชื™ืช?

ื”ืžื’ืžื” ื”ืขื™ืงืจื™ืช ื›ืืŸ ืžืžืฉื™ื›ื” ืœื”ื™ื•ืช Kubernetes ื•ื”ืชืฉืชื™ืช ืกื‘ื™ื‘ื• ื‘ืฆื•ืจื” ืฉืœ Service mesh. ื›ืœ ืกืคืง ืขื ืŸ ืฉืžื›ื‘ื“ ืืช ืขืฆืžื• ืžืกืคืง ืืช ื”ื”ื–ื“ืžื ื•ืช ืœื”ืฉืชืžืฉ ื‘ืืฉื›ื•ืœ Kubernetes. ื•ืื ื™ื™ืฉื•ื ื ื›ืชื‘ ืœื”ืคืขืœื” ืขืœ Kubernetes, ื–ื” ืžืงืœ ื”ืจื‘ื” ื™ื•ืชืจ ืขืœ ื”ืคืจื™ืกื” ื•ื”ืงื ื” ืžื™ื“ื”.

Kubernetes (K8s) ื”ื™ื ืชื•ื›ื ืช ืงื•ื“ ืคืชื•ื— ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืคืจื™ืกื”, ืงื ื” ืžื™ื“ื” ื•ื ื™ื”ื•ืœ ืฉืœ ื™ื™ืฉื•ืžื™ื ืžื›ื•ืœื™ื.

Kubernetes ืžืงื‘ืฅ ืืช ื”ืžื›ื™ืœื™ื ื”ืžืจื›ื™ื‘ื™ื ืืคืœื™ืงืฆื™ื” ืœื™ื—ื™ื“ื•ืช ืœื•ื’ื™ื•ืช ืœื ื™ื”ื•ืœ ื•ื’ื™ืœื•ื™ ืงืœ ื™ื•ืชืจ.

Kubernetes ืžื ื”ืœืช ื•ืžืคืขื™ืœื” ืงื•ื ื˜ื™ื™ื ืจื™ื ืขืœ ืคื ื™ ืžืกืคืจ ืจื‘ ืฉืœ ืžืืจื—ื™ื, ื•ืžืืคืฉืจืช ืžื™ืงื•ื ืžืฉื•ืชืฃ ื•ืฉื›ืคื•ืœ ืฉืœ ืžืกืคืจ ื’ื“ื•ืœ ืฉืœ ืงื•ื ื˜ื™ื™ื ืจื™ื. ื”ืคืจื•ื™ืงื˜ ื”ื•ืงื ืขืœ ื™ื“ื™ ื’ื•ื’ืœ ื•ื ืชืžืš ื›ืขืช ืขืœ ื™ื“ื™ ื—ื‘ืจื•ืช ืจื‘ื•ืช, ื‘ื™ื ื™ื”ืŸ ืžื™ืงืจื•ืกื•ืคื˜, RedHat, IBM ื•- Docker.

ืœืื™ืœื• ืžื’ืžื•ืช ืคื™ืชื•ื— ื ื•ืกืคื•ืช ื›ื“ืื™ ืœืฉื™ื ืœื‘ ื‘-2021?

ืื—ืช ื”ืžื’ืžื•ืช ื”ืžืขื ื™ื™ื ื•ืช ืฉืขื“ื™ื™ืŸ ื ืžืฆืื•ืช ื‘ืขืœื™ื™ื” ื”ื™ื GraalVM Native Image, ื”ืžืืคืฉืจืช ืœื”ืคื•ืš ืืคืœื™ืงืฆื™ื™ืช Java ืžืกื•ืจืชื™ืช ืœื‘ื™ื ืืจื™ืช ืฉืœื ืชื“ืจื•ืฉ ืืช ื”-JVM ื•ื”ืกืคืจื™ื•ืช ื”ื ืœื•ื•ืช ืœืคืขื•ืœ. ืงื•ื‘ืฅ ื‘ื™ื ืืจื™ ื›ื–ื” ืžืชืื™ื ืžืื•ื“ ืœืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืžื™ืงืจื•-ืฉื™ืจื•ืช ื•ืœื’ื™ืฉื” ืœืœื ืฉืจืชื™ื, ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ืžืืคืฉืจ ืœืš ืœื”ืชื—ื™ืœ ืžื”ืจ ืžืื•ื“ ืžื•ืคืข ื—ื“ืฉ ืฉืœ ื”ืืคืœื™ืงืฆื™ื” ื•ืื™ื ื• ื“ื•ืจืฉ "ื—ื™ืžื•ื" ืฉืœ ื”-JVM.

ื”ืื ื”ื“ืจื™ืฉื•ืช ืœืžืคืชื—ื™ื ืฆืขื™ืจื™ื ื”ืฉืชื ื• ืœืื—ืจื•ื ื” ืขืงื‘ ื”ืคื™ืชื•ื— ืฉืœ Java?

ืจื•ื‘ ื”ืคืจื•ื™ืงื˜ื™ื ืขื“ื™ื™ืŸ ื›ื•ืœืœื™ื ื—ื™ื“ื•ืฉื™ื ื‘-Java 8, ื’ื ืื ืžืคืชื—ื™ื ืžืฉืชืžืฉื™ื ื‘ื’ืจืกืื•ืช ื—ื“ืฉื•ืช ื™ื•ืชืจ ืฉืœ Java. ืœื›ืŸ, ื”ื“ืจื™ืฉื” ื”ืขื™ืงืจื™ืช ื”ื™ื ื™ื“ืข ื‘- Stream API ื•ืจื›ื™ื‘ื™ ืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื™ื . ื˜ื•ื‘ ื’ื ืœื”ื™ื•ืช ื‘ืขืœ ื”ื‘ื ื” ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื , Docker ื•- Kubernetes , ืฉื›ืŸ ื‘ืคืจื•ื™ืงื˜ ืžื•ื“ืจื ื™ ืžืคืชื— ืžืชื—ื™ืœ ื™ืฆื˜ืจืš ืžื™ื“ ืœื”ืชืžื•ื“ื“ ืขื ื–ื”.

ื”-stream API ื”ื•ื ื“ืจืš ื—ื“ืฉื” ืœืขื‘ื•ื“ ืขื ืžื‘ื ื™ ื ืชื•ื ื™ื ื‘ืกื’ื ื•ืŸ ืคื•ื ืงืฆื™ื•ื ืœื™. ื–ืจื API (ืชื™ืื•ืจ ืฉืœ ื”ื“ืจื›ื™ื ืฉื‘ื”ืŸ ืชื•ื›ื ืช ืžื—ืฉื‘ ืื—ืช ื™ื›ื•ืœื” ืœืชืงืฉืจ ืขื ืชื•ื›ื ื” ืื—ืจืช) ื”ื•ื, ื‘ื‘ืกื™ืกื•, ื–ืจื ืฉืœ ื ืชื•ื ื™ื.

ืขื ื›ื ื™ืกืชื• ืฉืœ Java 8, ื”-Stream API ืืคืฉืจ ืœืžืชื›ื ืชื™ื ืœื›ืชื•ื‘ ื”ืจื‘ื” ื™ื•ืชืจ ื‘ืงืฆืจื” ืืช ืžื” ืฉืœืงื— ื‘ืขื‘ืจ ืฉื•ืจื•ืช ืงื•ื“ ืจื‘ื•ืช, ื›ืœื•ืžืจ ืœืคืฉื˜ ืืช ื”ืขื‘ื•ื“ื” ืขื ืขืจื›ื•ืช ื ืชื•ื ื™ื, ื‘ืคืจื˜, ืœืคืฉื˜ ืืช ืคืขื•ืœื•ืช ื”ืกื™ื ื•ืŸ, ื”ืžื™ื•ืŸ ื•ืคืขื•ืœื•ืช ืื—ืจื•ืช ืฉืœ ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ื ืชื•ื ื™ื. ืื ืื™ืŸ ืœืš ืคืขื•ืœื•ืช ื‘ื™ื ื™ื™ื, ืืชื” ื™ื›ื•ืœ ื•ืฆืจื™ืš ืœืขืฉื•ืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืœื™ ื–ืจื, ืื—ืจืช ื”ืงื•ื“ ื™ื”ื™ื” ืžืกื•ื‘ืš ื™ื•ืชืจ ืžืืฉืจ ื‘ืœื™ ื–ืจื.

Docker ื”ื™ื ืชื•ื›ื ื” ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืคืจื™ืกื” ื•ื ื™ื”ื•ืœ ืฉืœ ื™ื™ืฉื•ืžื™ื ื‘ืกื‘ื™ื‘ื•ืช ืžื›ื•ืœื•ืช.

ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION