Terjemahan lan adaptasi Java Microservices: A Practical Guide . Link menyang bagean pisanan saka pandhuan . Sembarang program Jawa sisih server, lan mulane microservice sembarang, mung file karo extension .jar utawa .war. Ana siji bab sing apik babagan ekosistem Jawa, utawa luwih JVM: sampeyan mung kudu nulis kode Java sapisan lan bisa mlaku ing meh kabeh sistem operasi, anggere sampeyan durung nyusun kode nganggo versi Jawa sing luwih anyar tinimbang sampeyan. target versi JVM. Iki penting dimangerteni, utamane nalika nerangake topik kaya Docker, Kubernetes, utawa (drum roll!) The Cloud. Kenging punapa? Ayo katon ing macem-macem skenario penyebaran.
Contoh Deployment Java Microservice Minimalis
Ayo kita nerusake karo conto bank. Dadi, kita duwe file monobank.jar (monolith) lan riskengine.jar sing mentas diekstrak (microservice pamriksa risiko pisanan). Ayo uga nganggep yen loro aplikasi, kaya saben aplikasi liyane ing donya, mbutuhake file .properties. Ing kasus kita, mung bakal ngemot URL database lan kredensial. Penyebaran minimal bisa uga kalebu rong direktori sing katon kaya iki: Pisanan:
-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
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
...
Kapindho:
-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
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
...
Iki ninggalake pitakonan mbukak: carane .properties lan .jar file njaluk menyang server? Sayange, bisa uga ana akeh jawaban.
Cara Nggunakake Alat Mbangun, SSH, lan Ansible kanggo Nyebarake Java Microservices
Bosen, nanging ora ana saran sing apik banget babagan cara nyebarake microservices Java ... Bener, persis cara administrator sistem wis nyebarake program server Java ing perusahaan sajrone 20 taun kepungkur. Iki campuran:- alat mbangun favorit (Maven, Gradle)
- SSH lawas apik / SCP kanggo salinan .jars kanggo server
- Skrip Bash kanggo ngatur skrip lan server penyebaran
- utawa malah luwih apik: sawetara script Ansible.
Cara Nggunakake Docker kanggo nyebarake Java Microservices
Ayo bali menyang sangsara manis pilihan. Sawetara taun kepungkur, Docker teka ing adegan kasebut, lan karo containerization. Yen sampeyan durung nate nggarap, iki katrangan singkat sing ditujokake kanggo pangguna pungkasan lan pangembang:- Wadhah (disederhanakake) padha karo mesin virtual lawas sing apik, nanging "luwih entheng". Yen sampeyan ora ngerti apa tegese "luwih gampang" ing konteks iki, priksa jawaban iki ing Stackoverflow .
- Wadhah kasebut njamin portabilitas dhewe. Sing, iku bisa ing ngendi wae. Muni akrab, ora?
- bundle file jar menyang gambar Docker
- push gambar iki menyang pendaptaran Docker pribadi
- narik lan mbukak gambar iki ing platform target
- utawa nyalin gambar Docker langsung menyang sistem produksi lan mbukak.
Cara Nggunakake Docker Swarm utawa Kubernetes kanggo Nyebarake Java Microservices
Contone, sampeyan arep nyoba Docker. Saben-saben sampeyan masang microservice Java, sampeyan nggawe gambar Docker sing mbendel file .jar Panjenengan. Ayo dadi ngomong sampeyan duwe sawetara microservices Jawa iki, lan sampeyan pengin masang layanan iki ing sawetara mesin (ing kluster). Pitakonan muncul: carane ngatur klompok iki? Mbukak kontaner Docker, mriksa kinerja, nyebarke nganyari, skala sistem (brrr)? Rong jawaban kanggo pitakonan iki yaiku Docker Swarm lan Kubernetes. Ndhaptar rinci babagan opsi loro kasebut bakal nggawe tutorial sing wis suwe iki, nanging kita mikir manawa penting kanggo nyebutake manawa opsi loro kasebut pungkasane gumantung marang sampeyan nulis file YAML (ndeleng crita indentasi Yaml ) kanggo ngatur kluster sampeyan. Yen sampeyan pengin ngerti perasaan apa sing ditimbulake ing praktik, ketik pitakon sing padha menyang telusuran Twitter. Dadi proses panyebaran kanggo microservices Java saiki katon kaya iki:- Konfigurasi lan ngatur Docker Swarm / Kubernetes
- Kabeh langkah kanggo Docker (ndeleng ndhuwur)
- Tulis lan jalanake YAML
nganti mripatmu berdarahnganti kabeh bisa digunakake.
Carane Nguji Java Microservices
Contone, sampeyan mutusake kanggo ngetrapake layanan mikro ing produksi. Kepiye carane bisa nyoba integrasi n-microservices sajrone pembangunan saiki? Kepiye sampeyan bisa ndeleng manawa kabeh alur kerja bisa digunakake, lan ora mung bagean? Ing laku, sampeyan bisa nggunakake salah siji saka telung cara:- Kanthi karya sethitik (yen sampeyan nggunakake frameworks kaya Spring Boot), sampeyan bisa gabungke kabeh microservices menyang siji kelas nguripake lan mbukak kabeh microservices nggunakake siji kelas Wrapper.java - gumantung apa sampeyan duwe memori cukup ing mesin kanggo mbukak kabeh microservices sampeyan.
- Sampeyan bisa nyalin setelan Docker Swarm utawa Kubernetes sacara lokal.
- Cukup aja nglakokake tes integrasi sacara lokal maneh. Nanging, pasang lingkungan DEV / TEST khusus. Iki minangka sawetara tim sing bener-bener nindakake nalika nandhang lara saka persiyapan microservice lokal.
GO TO FULL VERSION