最近、新しいプロジェクトでは springcloud と docker が使用されています。この 2 つのテクノロジーを個別に紹介することはしません。ここでは、docker と docker-compose を通じて eureka の高可用性を実現するソリューションを紹介します。 1. Eureka サーバー プロジェクトのディレクトリ構造: 2. eureka 構成ファイルの構成: サーバ: ポート: 8900 春: 応用: 名前: eureka-server プロフィール: アクティブ: 開発者 管理: 安全: 有効: false 健康: うさぎ: 有効: false --- 春: プロフィール: 開発者 ユーレカ: クライアント: サービス URL: デフォルトゾーン: http://localhost:${server.port}/eureka/ ユーレカに登録: false レジストリの取得: false 実例: ホスト名: localhost 優先IPアドレス: true --- 春: プロファイル: test_ha_1 ユーレカ: クライアント: サービス URL: デフォルトゾーン: http://eurekaserver2:${server.port}/eureka/ 実例: ホスト名: eurekaserver1 # prefer-ip-address: true この設定が true の場合、IP が eureka に登録されていることを意味します。この場合、eureka サーバーはサーバーを介してレプリカを検出できません。 # したがって、Docker を介して eureka の高可用性を実現したい場合は、この構成のデフォルト値 (false) を使用するのが最適です。 # これを true に設定して高可用性を実現することは不可能ではありませんが、各 eureka サービスを Docker 環境の外部にマッピングし、IP を認識する必要があります。 --- 春: プロファイル: test_ha_2 ユーレカ: クライアント: サービス URL: デフォルトゾーン: http://eurekaserver1:${server.port}/eureka/ 実例: ホスト名: eurekaserver2 # 優先IPアドレス: true 3. Docker Mavenプラグインの設定: <ビルド> <プラグイン> <プラグイン> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </プラグイン> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>0.4.13</バージョン> <構成> <イメージ名>${docker.image.prefix}/${project.artifactId}:${project.version}</イメージ名> <dockerディレクトリ>src/main/docker</dockerディレクトリ> <forceTags> 真</forceTags> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> </リソース> </リソース> </構成> <!--<groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>0.4.13</バージョン> <構成> <imageName>itmuch/${project.artifactId}:${project.version} </imageName> <forceTags> 真</forceTags> <baseImage>java</baseImage> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </configuration>--> </プラグイン> </プラグイン> </ビルド> 4. Dockerファイルの内容: java:8より eureka-server-1.0.0.jar eurekaserver.jar を追加します ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eurekaserver.jar"] 5. eureka サーバーイメージを生成します。 次のように mvn clean package docker:build コマンドを実行して、eurekaserver イメージを生成します。 6. docker-compose によるオーケストレーション: バージョン: '2' サービス: ユーレカサーバー1: イメージ: raynspace/eureka-server:1.0.0 ポート: - 「7900:8900」 環境: - spring.profiles.active=test_ha_1 ユーレカサーバ2: イメージ: raynspace/eureka-server:1.0.0 #ホスト名: eurekaserver2 ポート: - 「7800:8900」 環境: - spring.profiles.active=test_ha_2 7. プロジェクト ディレクトリに移動し、docker-compose up コマンドを実行して、eureka サーバー用の 2 つのコンテナーを自動的に生成します。 8. eureka ポートがマップされたので、ポートを介してローカルで eureka にアクセスし、eureka サービスのステータスを確認します。 上の図からわかるように、registered-replicas と available-replicas の両方に別の eureka サービスが存在します。この時点で、eureka クラスターが構築されます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 5.7.10 インストール ドキュメント チュートリアル
nohup コマンドUnix/Linux を使用する場合、通常はプログラムをバックグラウンドで実行す...
目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...
目次1. MySQLイメージを取得する2. ダウンロードが完了したか確認する3. MySQLはローカ...
インストール環境: CentOS7 64ビットMINI版公式ソースコードのコンパイルおよびインストー...
1. 最左プレフィックス原則 - 複数の列にインデックスが付けられている場合は、最左プレフィックス原...
導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...
序文一部のプロジェクトの初期段階では、シンプルさとスピードのために、開発と展開は単一のマシンで行われ...
コンセプト紹介: MySQL の redo ログにはトランザクションの動作が記録されることはご存じの...
今日、Tomcat サーバーの設定時にちょっとした問題が発生したので、参考までにいくつかご説明したい...
目次1. 配列誘導1. 文字列を配列に分割する2. コレクションとマップを新しい配列に変換する3. ...
序文SQL の言語分類には主に以下の種類があります。 DDLデータ定義言語作成、削除、変更データ定義...
方法 1: 設定ファイルを変更する (docker サービスを停止する必要があります) 1. doc...
1.コアファイルプログラム実行中にセグメンテーション エラー (コア ダンプ) が発生すると、プログ...
CSS レイアウト - position プロパティposition 属性は、要素に適用する配置方法...
IE6 で CSS スタイルの div または li の背景のタイリングや境界の破壊を解決するには、...