Rumah  >  Artikel  >  Java  >  Membina Perkhidmatan Mikro Boleh Skala dengan Java Spring Boot: Amalan dan Teknik Terbaik bahagian -1

Membina Perkhidmatan Mikro Boleh Skala dengan Java Spring Boot: Amalan dan Teknik Terbaik bahagian -1

PHPz
PHPzasal
2024-08-17 18:51:32841semak imbas

Seni Bina Monolith

  • Jika kita membangunkan semua fungsi dalam satu projek maka ia dipanggil sebagai aplikasi berasaskan seni bina Monolith.

  • Kami akan membungkus aplikasi kami sebagai balang/perang untuk digunakan ke dalam pelayan.

  • Memandangkan aplikasi monolit mengandungi semua fungsi, ia akan menjadi balang lemak/perang.

Kelebihan
1) Mudah dibangunkan dan diurus.
2) Semuanya boleh didapati di satu tempat.
3) Konfigurasi diperlukan sekali sahaja.

Kelebihan-Kekurangan
1) Sukar diselenggara
2) Satu titik Kegagalan
3) Jika kami melakukan sebarang perubahan, projek yang lengkap akan digunakan semula dan diuji.
4) Pembangun mungkin tidak mengetahui keseluruhan modul jadi lebih sukar untuk memulakan menyelesaikan isu.
5) jika sesetengah modul mendapat banyak beban daripada yang kita perlukan untuk mencipta berbilang contoh aplikasi lengkap supaya mengambil banyak ruang kerana setiap modul digandingkan rapat antara satu sama lain.

Building Scalable Microservices with Java Spring Boot: Best Practices and Techniques part -1

Untuk mengatasi masalah Monolitik, seni bina Microservices masuk ke pasaran

Seni bina perkhidmatan mikro

  • Perkhidmatan mikro bukan bahasa pengaturcaraan atau rangka kerja atau API. Microservices ialah corak reka bentuk seni bina.

  • Perkhidmatan mikro mencadangkan untuk membangunkan fungsi aplikasi dengan gandingan longgar.

  • Dalam seni bina Microservices kami tidak membangunkan semua fungsi dalam satu projek. Kami akan membahagikan fungsi projek kepada beberapa API REST.

  • Perkhidmatan mikro tidak berkaitan dengan java sahaja. Mana-mana projek khusus bahasa pengaturcaraan boleh menggunakan Microservices Architecture.

Perkhidmatan mikro ialah pendekatan yang menggunakan kami membangunkan perkhidmatan kecil yang kecil, setiap perkhidmatan dijalankan pada bekas/proses/pelayannya sendiri, perkhidmatan harus ringan dan boleh digunakan secara bebas. Ini membolehkan pembangunan, penggunaan dan skalabiliti yang lebih pantas.

Seperti yang anda boleh lihat bahawa modul pekerja, modul pelanggan, modul alamat dan modul kursus aplikasi monolit kini ditukar kepada perkhidmatan kecil kecil jadi di sini ia adalah seperti perkhidmatan pekerja, perkhidmatan pelanggan, perkhidmatan alamat dan perkhidmatan kursus. dan dalam aplikasi monolit terdapat penggunaan pangkalan data tunggal tetapi dalam aplikasi perkhidmatan mikro setiap perkhidmatan mempunyai pangkalan data sendiri. dan mereka kini bergantung antara satu sama lain. dan setiap perkhidmatan adalah komunikasi antara satu sama lain buang panggilan selebihnya.

Building Scalable Microservices with Java Spring Boot: Best Practices and Techniques part -1

Kelebihan

  • Kebebasan Teknologi (Kami boleh membangunkan API bahagian belakang dengan pelbagai teknologi seperti python, Go dll.)
  • Kemerdekaan Pangkalan Data.

  • Setiap perkhidmatan adalah bebas antara satu sama lain (Loosely Coupling) jadi kami boleh menggunakan setiap perkhidmatan secara bebas.

  • jika melakukan apa-apa perubahan dalam mana-mana perkhidmatan, tidak perlu menggunakan semua perkhidmatan, hanya satu perkhidmatan menggunakan tunggal juga.

  • Dev yang bekerja pada satu perkhidmatan tidak memerlukan pengetahuan keseluruhan aplikasi.

  • Kegagalan satu perkhidmatan mikro tidak memberi kesan kepada keseluruhan aplikasi, meningkatkan daya tahan keseluruhan.

  • Pangkalan kod yang lebih kecil dan pengasingan kebimbangan menjadikan penyelenggaraan dan penyahpepijatan lebih mudah diurus.

  • Disebabkan sifatnya yang lebih kecil dan bebas, perkhidmatan mikro individu boleh diskalakan secara bebas berdasarkan permintaan, tanpa perlu menskalakan keseluruhan aplikasi.

  • Setiap perkhidmatan boleh diuji secara berbeza.

Kelemahan

  • jika kita ingin melakukan perubahan dalam satu konfigurasi perkhidmatan daripada yang kita perlukan untuk melakukan perubahan pada setiap konfigurasi perkhidmatan contohnya terdapat sifat sepunya yang wujud dalam setiap fail application.properties dalam semua projek saya.
company.name=tier3Hub

jadi jika kita ingin menukar nama syarikat daripada dalam semua perkhidmatan kita perlu menukar nama.

  • Menguji aplikasi berasaskan perkhidmatan mikro boleh menjadi lebih kompleks kerana saling bergantung dan interaksi antara perkhidmatan.

  • setiap perkhidmatan mengendalikan beberapa jumlah permintaan tertentu selepas itu jika kami menghantar lebih banyak permintaan daripada perkhidmatan yang terputus, jadi kami memerlukan berbilang contoh perkhidmatan itu dan untuk mengarahkan permintaan dalam contoh perkhidmatan yang berbeza yang kami perlukan pengimbang beban yang mengimbangi permintaan yang datang daripada pelanggan dan laluan dalam contoh yang berbeza. tetapi menulis pengimbang beban di Jawa adalah sukar.

Mengapa Java untuk Microservices

Java menyediakan rangka kerja yang dipanggil Spring-Boot untuk membangunkan Rest API dan Spring-Boot menyediakan banyak ciri seperti autokonfigurasi, pelayan terbenam, jika kami sedang membangunkan perkhidmatan supaya terdapat keperluan untuk menggunakan perkhidmatan sech pada pelayan dan spring-Boot menyediakan pelayan tomcat, jadi setiap perkhidmatan berjalan pada port tomcat yang berbeza. contohnya perkhidmatan pekerja berjalan pada port 8080, perkhidmatan kursus berjalan pada port 8081 dan setiap perkhidmatan mempunyai pelayan sendiri.

Building Scalable Microservices with Java Spring Boot: Best Practices and Techniques part -1

dengan bantuan spring-Boot menyediakan ciri untuk pembangunan pantas, Kurang konfigurasi, aplikasi Sedia Pengeluaran dan projek stater

dan terdapat projek di bawah Rangka Kerja Spring Dipanggil Spring Cloud yang menyediakan perkhidmatan mikro sokongan Sedia dibuat, Spring Cloud menyediakan beberapa alatan dan teknik biasa untuk membangunkan corak biasa perkhidmatan mikro dengan cepat.

Spring Cloud memfokuskan pada menyediakan pengalaman luar kotak yang baik untuk kes penggunaan biasa dan mekanisme kebolehlanjutan untuk melindungi orang lain

  • Konfigurasi teragih/versi
  • Pendaftaran dan penemuan perkhidmatan
  • Penghalaan
  • Panggilan perkhidmatan ke perkhidmatan
  • Pengimbangan beban
  • Pemutus Litar
  • Mesej teragih
  • Perkhidmatan mikro jangka pendek (tugas)
  • Ujian kontrak dipacu pengguna dan didorong oleh pengeluar.

Seni Bina Microservices

Kami tidak mempunyai sebarang seni bina tetap untuk Microservices, Dev menyesuaikan seni bina perkhidmatan mikro mengikut keperluan Projek mereka, Kebanyakan projek akan menggunakan komponen di bawah dalam Microservices Architecture.

1) Pendaftaran Perkhidmatan (Pelayan Eureka)

2) Perkhidmatan (REST API)

3) Komunikasi Antara Perkhidmatan (FeginClient)

4) Gerbang API

5) Pelayan Pentadbir

6) Zipkin

Kesimpulan

Perkhidmatan mikro di Java telah mengubah cara kami mendekati pembangunan perisian, membawa tahap fleksibiliti, skalabiliti dan daya tahan baharu ke meja. Ekosistem Java yang kaya, digabungkan dengan rangka kerja seperti Spring Boot, Micronaut, menjadikannya pilihan yang sangat baik untuk membina perkhidmatan mikro yang dapat memenuhi permintaan aplikasi moden.

Semasa kami meneroka seni bina ini, jelas sebab perkhidmatan mikro telah mendapat populariti berbanding aplikasi monolitik tradisional. Mereka menawarkan modulariti dan kebebasan, membolehkan pasukan membangun, menggunakan dan menskalakan perkhidmatan secara individu. Ini amat berharga dalam dunia yang ciri asli awan semakin menjadi standard. Walau bagaimanapun, perjalanan itu juga mendedahkan cabaran seperti memastikan ketekalan data, mengurus komunikasi antara perkhidmatan dan mengekalkan keselamatan yang teguh merentas perkhidmatan.

Kekal dikemas kini dengan kemajuan terkini dalam alatan dan amalan adalah penting untuk pembangun Java yang bekerja dengan perkhidmatan mikro. Landskap sentiasa berkembang, dan mereka yang menyesuaikan diri akan berada pada kedudukan terbaik untuk memanfaatkan potensi penuh seni bina ini. Masa depan perkhidmatan mikro di Java kelihatan menjanjikan, dengan penambahbaikan berterusan dalam rangka kerja dan alatan, disokong oleh komuniti pembangun yang semakin meningkat yang tidak sabar-sabar untuk berkongsi pengetahuan dan pengalaman mereka.

Merangkul perkhidmatan mikro dalam Java bermakna membuka pintu untuk mencipta aplikasi yang lebih berdaya tahan, berskala dan boleh diselenggara. Dengan mengikuti amalan terbaik dan kekal komited kepada pembelajaran berterusan, pembangun boleh membuka kunci kemungkinan baharu dalam pembangunan perisian, yang membawa kepada penyelesaian yang lebih inovatif dan cekap.

Atas ialah kandungan terperinci Membina Perkhidmatan Mikro Boleh Skala dengan Java Spring Boot: Amalan dan Teknik Terbaik bahagian -1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn