SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

それは何ですか?

Spring Boot は、Spring オープンソース組織のサブプロジェクトであり、Spring コンポーネントのワンストップ ソリューションです。Spring の使用の難しさを簡素化し、複雑な構成を省き、開発者がすぐに使い始められるようにさまざまなスターターを提供します。


なぜそれを使うのですか?

5つの利点:

1. 開始依存関係 公式には多数の開始依存関係が統合されており、プロジェクトの構築作業が簡素化されます。同時に、開始依存関係は信頼性の高い依存関係管理を提供し、問題のあるバージョンや依存関係の競合がプロジェクトに持ち込まれるリスクを軽減します。

2. 自動構成では、コンポーネントのスキャンと自動構成がオンになります。 exclude パラメータを使用して特定の自動構成を無効にします。

3. アプリケーション監視 Spring Boot 監視の中核は、spring-boot-starter-actuator 依存関係です。依存関係を追加すると、Spring Boot は、jvm 監視、クラス ローディング、ヘルス監視などの一般的な監視をデフォルトで構成します。 Actuator プラグインは、SpringBoot によってネイティブに提供されるサービスです。エンドポイント ルーティングを公開することで、アプリケーション内の多くのエンドポイント情報を出力するために使用できます。

4. 独立した操作 SpringBoot には Tomcat コンテナが組み込まれており、実行するメインメソッドを直接実行できます。プロジェクトのデプロイメントは jar ファイルにパッケージ化でき、java -jar コマンドを実行してサーバー上でサービスを実行できます。

5. ホットデプロイメントプロジェクトの開発中、ページデータやデータ構造は頻繁に変更されます。変更の効果を表示するには、アプリケーションを再起動して変更の効果を確認する必要があります。実際には、再コンパイルして新しいクラスファイルを生成します。このファイルにはコードに対応するさまざまな情報が記録され、その後、クラスファイルは仮想マシンの ClassLoader によってロードされます。

ホットデプロイメントはこの機能を活用します。クラスファイルが変更されたことを検出すると、ファイルをロードするための新しい ClassLoader が作成されます。一連のプロセスの後、結果が表示されます。


場合

1. Springbootマイクロサービスを開発する

2. Springbootアプリケーションをパッケージ化する

パッケージには一般的に2つの形式があり、この場合はjarを使用します
戦争移行トムキャット
jar メインストリーム jdk

3. プロジェクトをパッケージ化する

aliyun-sdk-oss-2.6.1.jar

4. サーバーにDockerfileディレクトリを作成する

mkdir /root/springboot

このディレクトリにjarパッケージをアップロードし、Java環境イメージopenjdk /root/springbootをロードします。

ここに画像の説明を挿入

Dockerfileを作成する
vim Dockerファイル

openjdk:8-jre から
ワークディレクトリ /app
aliyun-sdk-oss-2.6.1.jar app.jarを追加します。
エクスポーズ8080
エントリポイント ["java","-jar","app.jar"]

5. イメージを構築する
ビルドを実行します。

ここに画像の説明を挿入

6. コンテナを実行する
docker run -d -p 8081:8080 --name registry1 app1 bash
コンテナを表示します:

ここに画像の説明を挿入


docker と SpringBoot を使ってマイクロサービスを構築した実践記録の分析に関するこの記事はこれで終わりです。docker と SpringBoot を使ったマイクロサービスの構築に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Springboot マイクロサービス パッケージング Docker イメージ プロセスの分析
  • SpringBoot+SpringCloud ユーザー情報マイクロサービス配信実装分析
  • SpringBoot統合gRPCマイクロサービスエンジニアリング構築実践法

<<:  HTML 適応テーブル方式

>>:  MySQL データベースの最適化に関する 9 つのヒント

推薦する

VMware での Ubuntu と Windows 間のファイル共有

この記事では、VMware 環境下で Ubuntu と Windows 間でファイルを共有する方法を...

LinuxにNginxを素早くインストールする方法

目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...

MySQL 5.7.11 zip インストールと設定方法のグラフィックチュートリアル

1. MySQL 5.7.11 zipインストールパッケージをダウンロードするこのマシンはwin7 ...

pt-heartbeat を使用して MySQL レプリケーションの遅延を監視する方法の詳細な説明

pt-ハートビートデータベースがマスターとスレーブ間で複製される場合、複製ステータスとデータ遅延は非...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

MySQL シリーズ 14 MySQL 高可用性実装

1. 内閣府マスターノードを監視することで、他のスレーブノードへの自動フェイルオーバーを実現できます...

泡の小さな鋭角効果を実現するCSS

効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...

JavaScript 組み込みオブジェクトの概要

目次1. 組み込みオブジェクト2. 数学オブジェクト1. Mathオブジェクトの使用2. 指定された...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

Vue3コンポーネントの開発詳細

目次1. はじめに2. コンポーネント開発1. コンポーネントの構成2. ヘッダーコンポーネントの開...

Linux で開いているファイルが多すぎる問題を解決する方法

原因は、プロセスが特定の時点でシステム制限を超える数のファイルと通信リンクを開くことです。 システム...

Dockerはrabbitmqのサンプルコードをインストールして実行します

イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...

Windows での MySQL 8.0.11 インストール チュートリアル

この記事は、WindowsでのMySQL 8.0.11のインストールチュートリアルを記録しています。...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

モバイルデバイス上の 1px 境界線を解決する最善の方法 (推奨)

モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...