すべての機能を単一のプロジェクトで開発する場合、それはモノリスアーキテクチャベースのアプリケーションと呼ばれます。
アプリケーションをjar/warとしてパッケージ化してサーバーにデプロイします。
モノリスアプリケーションにはすべての機能が含まれているため、fat jar/warになります。
利点
1) 開発と管理が簡単
2) すべてが 1 か所で入手可能です。
3) 設定は一度だけ必要です。
短所
1) メンテナンスが難しい
2) 単一障害点
3) 変更を行った場合、プロジェクト全体が再デプロイされ、テストされます。
4) 開発者はモジュール全体の知識がない可能性があるため、問題の修正を開始するのは困難です。
5) 一部のモジュールの負荷が高くなった場合は、アプリケーション全体の複数のインスタンスを作成する必要があり、各モジュールが互いに緊密に結合されているため、多くのスペースが必要になります。
モノリシックの問題を克服するために、マイクロサービスアーキテクチャが市場に登場しました
マイクロサービスは、プログラミング言語、フレームワーク、または API ではありません。マイクロサービスはアーキテクチャ設計パターンです。
疎結合でアプリケーション機能を開発することを提案するマイクロサービス
マイクロサービス アーキテクチャでは、単一のプロジェクトですべての機能を開発するわけではありません。プロジェクトの機能をいくつかの REST API に分割します。
マイクロサービスは Java だけに関係するものではありません。プログラミング言語固有のプロジェクトはマイクロサービス アーキテクチャを使用できます。
マイクロサービスは、小規模なサービスを開発するアプローチです。各サービスは独自のコンテナ/プロセス/サーバー上で実行され、サービスは軽量で独立してデプロイ可能である必要があります。これにより、より迅速な開発、展開、拡張性が可能になります。
ご覧のとおり、モノリス アプリケーションの従業員モジュール、顧客モジュール、住所モジュール、およびコース モジュールが小規模なサービスに変換されたため、ここでは従業員サービス、顧客サービス、住所サービス、コース サービスのようなものになります。モノリス アプリケーションでは単一のデータベースが使用されますが、マイクロサービス アプリケーションでは各サービスが独自のデータベースを持ちます。そしてそれらは今では相互に依存しています。各サービスは相互に通信し、残りの呼び出しをスローします。
利点
データベースの独立性。
各サービスは互いに独立しているため (疎結合)、各サービスを個別にデプロイできます。
1 つのサービス構成で変更を実行したい場合、各サービス構成で変更を実行する必要はありません。たとえば、すべてのプロジェクトのすべての application.properties ファイルに存在する共通のプロパティがあります。
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 jadi 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.
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 alat dan teknik biasa untuk membangunkan corak perkhidmatan mikro biasa dengan cepat.
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
Perkhidmatan mikro di Java telah mengubah cara kami mendekati pembangunan perisian, membawa tahap fleksibiliti, skalabiliti dan daya tahan baharu. 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.
Memandangkan kami telah 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 berkembang 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.
以上がJava Spring Boot を使用したスケーラブルなマイクロサービスの構築: ベスト プラクティスとテクニック パート -1の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。