Docker と Spring Boot を使用してマイクロサービス アーキテクチャを構築する

WBOY
リリース: 2023-10-21 12:26:01
オリジナル
1129 人が閲覧しました

使用Docker和Spring Boot构建微服务架构

Docker と Spring Boot を使用したマイクロサービス アーキテクチャの構築

クラウド コンピューティングとコンテナ化テクノロジの急速な発展に伴い、多くの企業がスケーラブルな構築を行うためにマイクロサービス アーキテクチャを採用し始めています。 、柔軟で保守可能なアプリケーション。現在最も人気のあるコンテナ化テクノロジーの 1 つである Docker は、Spring Boot と組み合わせることで効率的なマイクロサービス アーキテクチャを簡単に構築できます。この記事では、Docker と Spring Boot を使用してマイクロサービス アーキテクチャを構築する方法を紹介し、具体的なコード例を示します。

マイクロサービス アーキテクチャの利点は、大規模なアプリケーションが一連の独立したマイクロサービス モジュールに分割され、それぞれを独立してデプロイ、スケーリング、管理できることです。アプリケーションを迅速に構築するためのフレームワークとして、Spring Boot を Docker と組み合わせることで、マイクロサービス アーキテクチャをより簡単に実装できます。

まず、例として単純な Spring Boot アプリケーションを準備する必要があります。ユーザーの追加、削除、変更、確認などの機能を備えたシンプルなユーザー管理システムを構築したいとします。 「UserManagement」という名前の Spring Boot プロジェクトを作成し、プロジェクト内に UserController クラスを定義して、ユーザー関連の REST API を提供できます。

@RestController
@RequestMapping("/users")
public class UserController {

    @GetMapping("/")
    public List<User> getUsers() {
        // TODO: implement logic to get users from database
    }

    @PostMapping("/")
    public User createUser(@RequestBody User user) {
        // TODO: implement logic to create user in database
    }

    // TODO: implement other CRUD operations

}
ログイン後にコピー

上記のコードは、単純な REST コントローラーを定義し、すべてのユーザーの取得とユーザーの作成のための API インターフェイスを提供します。これは単なる例であり、実際のプロジェクトではさらに多くの API インターフェイスやビジネス ロジックが存在する可能性があります。

次に、この Spring Boot アプリケーションを実行可能な JAR ファイルとしてパッケージ化し、Docker を使用してコンテナ化する必要があります。まず、プロジェクトのルート ディレクトリに「Dockerfile」という名前のファイルを作成し、次の内容を追加します。

FROM openjdk:8-jdk-alpine
COPY target/UserManagement.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
ログイン後にコピー

上記の Dockerfile は、Alpine Linux に基づく JDK 8 イメージをベース イメージとして使用し、パッケージ化されたコピーを使用します。 UserManagement.jar ファイルをコンテナに追加し、コンテナのエントリ コマンドを「java -jar app.jar」として指定します。最後に、次のコマンドを使用してアプリケーションを Docker イメージとしてビルドします:

docker build -t user-management .
ログイン後にコピー

ビルドが完了したら、次のコマンドを使用してイメージを実行できます:

docker run -p 8080:8080 user-management
ログイン後にコピー

これで、正常に適用されました。 Spring Boot プログラムはコンテナ化されており、http://localhost:8080/users にアクセスすることでユーザー管理システムの API インターフェースにアクセスできます。

次に、Docker Compose を使用して複数のマイクロサービス コンテナーを管理できます。プロジェクトのルート ディレクトリに「docker-compose.yml」という名前のファイルを作成し、次の内容を追加します。

version: '3'
services:
  user-management:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:8080
ログイン後にコピー

上記の docker-compose.yml ファイルは、「user-management」サービスという名前のファイルを定義します。以前に構築したイメージを使用し、コンテナーの 8080 ポートをホストの 8080 ポートにマッピングします。

次に、次のコマンドを使用してマイクロサービス アーキテクチャを開始します。

docker-compose up -d
ログイン後にコピー

これで、ユーザー管理マイクロサービスを含む Docker コンテナー グループが正常に開始されました。 http://localhost:8080/users にアクセスすると、ユーザー管理システムの API インターフェイスにアクセスでき、次のコマンドでコンテナのステータスを確認することもできます:

docker ps
ログイン後にコピー

上記は使用方法です。マイクロサービスを構築するためのDockerとSpring Bootのアーキテクチャの基本的な流れとサンプルコード。各マイクロサービスを独立した Docker コンテナーとしてパッケージ化し、Docker Compose を使用してコンテナー グループを管理することで、マイクロサービス アーキテクチャをより簡単に拡張および管理できます。もちろん、これは単なる例であり、実際のプロジェクトでは、サービスの登録と検出、負荷分散など、さらに多くの要素を考慮する必要があります。

この記事が、Docker と Spring Boot を使用してマイクロサービス アーキテクチャを構築する方法を理解するのに役立つことを願っています。

以上がDocker と Spring Boot を使用してマイクロサービス アーキテクチャを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート