ืชืจืืื ืืืชืืื ืฉื Java Microservices: ืืืจืื ืืขืฉื . ืงืืฉืืจ ืืืืง ืืจืืฉืื ืฉื ืืืืจืื . ืื ืชืืื ืืช Java ืืฆื ืืฉืจืช, ืืืคืืื ืื ืฉืืจืืช ืืืงืจื, ืืื ืจืง ืงืืืฅ ืขื ืกืืืืช .jar ืื .war. ืืฉ ืืืจ ืืื ื ืืืจ ืืืขืจืืช ืืืงืืืืืืช ืฉื Java, ืื ืืืชืจ ืืืืง ื-JVM: ืืชื ืฆืจืื ืืืชืื ืจืง ืงืื Java ืคืขื ืืืช ืืืื ืืืื ืืคืขืื ืืืขื ืขื ืื ืืขืจืืช ืืคืขืื, ืื ืขืื ืื ืืืืืจ ืืงืื ืฉืื ืขื ืืจืกื ืืืฉื ืืืชืจ ืฉื Java ืืืฉืจ ืฉืื ืืจืกืช ืืขื JVM. ืืฉืื ืืืืื ืืืช, ืืืืืื ืืฉืืืืืจ ืื ืืฉืืื ืืื Docker, Kubernetes ืื (ืชืืคืื!) ืืขื ื. ืืื? ืืืื ื ืกืชืื ืขื ืชืจืืืฉื ืคืจืืกื ืฉืื ืื.
ืืืืื ืืคืจืืกืช Java Microservice ืืื ืืืืืกืืืช
ื ืืฉืื ืืืืืื ืฉื ืืื ืง. ืื ืืฉ ืื ื ืงืืืฅ monobank.jar (ืืื ืืืืช) ืืืช riskengine.jar ืฉืืืืฆื ืืืืจืื ื (ืืืืงืจื-ืฉืืจืืช ืืจืืฉืื ืืืืืงืช ืกืืืื ืื). ืืืื ื ื ืื ืื ืฉืฉืชื ืืืคืืืงืฆืืืช, ืืื ืื ืืคืืืงืฆืื ืืืจืช ืืขืืื, ืืงืืงืืช ืืงืืืฅ .properties. ืืืงืจื ืฉืื ื, ืืื ืืืื ืจืง ืืช ืืชืืืช ืืืชืจ ืืืืืฉืืจืื ืฉื ืืกื ืื ืชืื ืื. ืคืจืืกื ืืื ืืืืืช ืขืฉืืื ืืืืืช ืืืจืืืช ืืฉืชื ืกืคืจืืืช ืฉื ืจืืืช ืืขืจื ืื: ืจืืฉืืช:
-r-r------ 1 ubuntu ubuntu 2476 Nov 26 09:41 application.properties
-r-x------ 1 ubuntu ubuntu 94806861 Nov 26 09:45 monobank-384.jar
ubuntu@somemachine:/var/www/www.monobank.com/java$ java -jar monobank-384.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
...
ืฉืึฐื ึดืึธื:
-r-r------ 1 ubuntu ubuntu 2476 Nov 26 09:41 application.properties
-r-x------ 1 ubuntu ubuntu 94806861 Nov 26 09:45 risk-engine-1.jar
ubuntu@someothermachine:/var/www/risk.monobank.com/java$ java -jar risk-engine-1.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
...
ืื ืืฉืืืจ ืืช ืืฉืืื ืคืชืืื: ืืืฆื ืืืืขื ืงืืฆื ื-.properties ื-.jar ืืฉืจืช? ืืืจืื ืืฆืขืจ, ืขืฉืืืืช ืืืืืช ืชืฉืืืืช ืจืืืช.
ืืืฆื ืืืฉืชืืฉ ืืืื Build, SSH ื-Ansible ืืคืจืืกืช ืฉืืจืืชื Java Microservices
ืขืฆื ืืฉืขืืืช, ืืื ืื ืคืืืช ืืืฆืืื ืช ืืืฆื ืืคืจืืก ืฉืืจืืชื ืืืงืจื ืฉื Java... ืืืขืฉื, ืืืืืง ืืื ืฉืื ืืื ืืขืจืืช ืคืจืกื ืื ืชืืื ืืช ืฉืจืช Java ืืืืจืืช ืืืืื 20 ืืฉื ืื ืืืืจืื ืืช. ืื ืืชืืืื:- ืืื ืืื ืืื ืืืืขืืฃ ืขืืื (Maven, Gradle)
- SSH/SCP ืืฉื ืืืื ืืืขืชืงืช .jars ืืฉืจืชืื
- ืกืงืจืืคืืื Bash ืื ืืืื ืกืงืจืืคืืื ืืฉืจืชืื ืฉื ืคืจืืกื
- ืื ืืคืืื ืืื ืืืชืจ: ืืื ืกืงืจืืคืืื ืฉื Ansible.
ืืืฆื ืืืฉืชืืฉ ื-Docker ืืคืจืืกืช Java Microservices
ืืืื ื ืืืืจ ืืืืกืืจืื ืืืชืืงืื ืฉื ืืืืืจื. ืืคื ื ืฉื ืชืืื ืืืืข ืืืงืจ ืืืงืื, ืืืืชื ืืืืืืช. ืื ืืขืืื ืื ืขืืืช ืขื ืื, ืื ื ืชืืืืจ ืงืฆืจ ืืืืืขื ืืืฉืชืืฉื ืงืฆื ืืืืคืชืืื:- ืืืื (ืคืฉืื) ืืืื ืืืืื ื ืืืืจืืืืืืช ืืืฉื ื ืืืืืื, ืืื "ืงื ืืืชืจ". ืื ืื ืืจืืจ ืื ืื ืืืฉืืขืืช ืฉื "ืงื ืืืชืจ" ืืืงืฉืจ ืืื, ืื ื ืืืืง ืืช ืืชืฉืืื ืืื ื-Stackoverflow .
- ืืืืืื ืืืืืื ื ืืืืืช ืืฉืื. ืืืืืจ, ืื ืขืืื ืืื ืืงืื. ื ืฉืืข ืืืืจ, ืื?
- ืืื ืืช ืงืืืฅ ื-jar ืฉืื ืืชืืื ืช Docker
- ืืืืฃ ืชืืื ื ืื ืืจืืฉืื ืืืงืจ ืคืจืื
- ืืฉืื ืืืคืขื ืืช ืืชืืื ื ืืื ืขื ืคืืืคืืจืืช ืืืขื ืฉืื
- ืื ืืขืชืง ืืช ืชืืื ืช Docker ืืฉืืจืืช ืืืขืจืืช ืืืืฆืืจ ืฉืื ืืืคืขื ืืืชื.
ืืืฆื ืืืฉืชืืฉ ื-Docker Swarm ืื Kubernetes ืืื ืืคืจืืก ืฉืืจืืชื Java Microservices
ื ื ืื ืฉืืืืืช ืื ืกืืช ืืช Docker. ืืื ืคืขื ืฉืืชื ืคืืจืก ืืืงืจื-ืฉืืจืืช Java, ืืชื ืืืฆืจ ืชืืื ืช Docker ืืืืืืช ืืช ืงืืืฅ ื-.jar ืฉืื. ื ื ืื ืฉืืฉ ืื ืืื ืืฉืืจืืชื ืืืืงืจื ืืืื ืฉื Java, ืืืชื ืจืืฆื ืืคืจืืก ืืช ืืฉืืจืืชืื ืืืื ืืืกืคืจ ืืืฉืืื (ืืืฉืืื). ื ืฉืืืช ืืฉืืื: ืืื ืื ืื ืืช ืืืฉืืื ืืื? ืืืคืขืื ืงืื ืืืื ืจืื ืฉื Docker, ืืืืืง ืืืฆืืขืื, ืืคืจืืก ืขืืืื ืื, ืืฉื ืืช ืืช ืงื ื ืืืืื ืฉื ืืืขืจืืช (brrr)? ืฉืชื ืชืฉืืืืช ืืคืฉืจืืืช ืืฉืืื ืื ืื Docker Swarm ื-Kubernetes. ืคืืจืื ืฉื ืฉืชื ืืืคืฉืจืืืืช ืืืคืื ืืช ืืืืจืื ืืืจืื ืืื ืืืจ ืืจืื ืืื, ืืื ืื ืื ื ืืืฉืืื ืฉืืฉืื ืืืืืืจ ืฉืฉืชื ืืืคืฉืจืืืืช ืืกืชืืืืช ืืกืืคื ืฉื ืืืจ ืขื ืื ืฉืืชื ืืืชื ืงืืฆื YAML (ืจืื ืกืืคืืจื ืืืื ืฉื Yaml ) ืืื ืื ืื ืืช ืืืฉืืื ืฉืื. ืื ืืชื ืจืืฆื ืืืขืช ืืื ืื ืืืจื ืื ืืืจืืืฉ ืืคืืขื, ืคืฉืื ืืงืื ืฉืืืืชื ืืืื ืืืืคืืฉ ืืืืืืืจ. ืื ืชืืืื ืืคืจืืกื ืขืืืจ ืฉืืจืืชื ืืืืงืจื ืฉื Java ืฉืื ื ืจืื ืืขืช ืืขืจื ืื:- ืืืืจื ืื ืืืื ืฉื Docker Swarm/Kubernetes
- ืื ืืฉืืืื ืขืืืจ Docker (ืจืื ืืืขืื)
- ืืชืื ืืืคืขื YAML
ืขื ืฉืืขืื ืืื ืฉืื ืืืืืืชืขื ืฉืืื ืืขืืื.
ืืืฆื ืืืืืง Java Microservices
ื ื ืื ืฉืืชื ืืืืื ืืืืฉื ืฉืืจืืชื ืืืงืจื ืืืืฆืืจ. ืืืฆื ื ืืื ืืืืืง ืืื ืืืจืฆืื ืฉื n-microservices ืืืืื ืืคืืชืื ืืขืช? ืืื ืืชื ืืืื ืืจืืืช ืื ืืจืืืช ืืขืืืื ืืืื ืขืืืืช, ืืื ืจืง ืืืงืื ืืื ื? ืืคืืขื, ืืชื ืืืื ืืืฉืชืืฉ ืืืืช ืืฉืืืฉ ืฉืืืืช:- ืขื ืงืฆืช ืขืืืื (ืื ืืชื ืืฉืชืืฉ ืืืกืืจืืช ืืื Spring Boot), ืืชื ืืืื ืืฉืื ืืช ืื ืฉืืจืืชื ืืืืงืจื ืฉืื ืืืืืงื ืืืช ืฉื ืืฉืืจ ืืืืขืื ืืช ืื ืฉืืจืืชื ืืืืงืจื ืืืืฆืขืืช ืืืืงื ืืืช ืฉื Wrapper.java - ืชืืื ืื ืืฉ ืื ืืกืคืืง ืืืืจืื ืืืืฉื ืฉืื ืืื ืืืคืขืื ืืช ืื ืฉืืจืืชื ืืืืงืจื ืฉืื.
- ืืชื ืืืื ืืืขืชืืง ืืช ืืืืจืืช Docker Swarm ืื Kubernetes ืืืืคื ืืงืืื.
- ืคืฉืื ืื ืชืคืขืื ืืืชืจ ืืืื ื ืืื ืืืจืฆืื ืืงืืืืช. ืืืงืื ืืืช, ืคืจืืก ืกืืืืช DEV/TEST ืืืขืืืืช. ืื ืืฉืื ืฉืื ืืขื ืฆืืืชืื ืืืืช ืขืืฉืื ืืฉืื ื ืื ืขืื ืืืื ืฉื ืืืืจืืช ืืืงืจื-ืฉืืจืืช ืืงืืืืืช.
GO TO FULL VERSION