SpringCloudまず:登録と発見サービス(ユーレカ)

、春のクラウド導入

春の雲はすぐにように、構成管理、サービス検出、回路ブレーカ、ルーティング、マイクロブローカー、イベントバス、グローバルロック、意思決定のキャンペーン、分散セッションを含む開発者のための分散システムを構築するためのツールを多数提供しています。それは、コンピュータの開発者で実行することができ、簡単な操作環境です。

第二に、サービスレジストリを作成します

ここでは、春の雲Netflixのユーレカ、我々が必要とする部品の使用について、ユーレカは、サービス登録と発見モジュールであります

 

ユーレカクライアントとしての最初の(今、私たちすべて)Mavenプロジェクトを作成し、サービスレジストリ、すなわちユーレカサーバーとしてMavenプロジェクト内のモデルプロジェクトを作成し、他のアイデア、個人用ツール。、次のことができます。

モジュールインスタンスのスクリーンショットを作成します。

次のステップ - >を選択し、クラウドディスカバリー>ユーレカサーバ、その後、次のリストになって。

:のpom.xmlは、次のように作成した後、

<?xml version = "1.0"エンコード= "UTF-8"?> 
<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlnsを:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス」
	のxsi:のschemaLocation = "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 
	<modelVersion> 4.0.0 </ modelVersion> 
	<親> 
		<のgroupId> org.springframework.boot </のgroupId> 
		<たartifactId>ばねブートスタータ親</たartifactId> 
		<バージョン> 2.1.7.RELEASE </バージョン> 
		<relativePath /> <! -ルックアップ親リポジトリから- > 
	</親> 
	<groupIdを> com.example </ groupIdを> 
	<たartifactId> eurekaserver </たartifactId>
	<バージョン> 0.0.1-SNAPSHOT </バージョン> 
	<名前> eurekaserver </名前>
	<説明>春の起動のためのデモプロジェクト</記述> 
			<依存>

	<プロパティ> 
		<のjava.version> 1.8 </java.version> 
		<春-cloud.version> Greenwich.SR2 </spring-cloud.version> 
	</プロパティ> 

	<依存性> 
		<! -ユーレカ- > 
		<依存関係> 
			<のgroupId> org.springframework.cloud </のgroupId> 
			<たartifactId>ばねクラウドスタータのNetflix、ユーレカサーバ</たartifactId> 
		</依存> 

		<依存性> 
			<のgroupId> org.springframework.boot </のgroupId> 
			<たartifactId>ばねブートスタータ試験</たartifactId> 
			<スコープ>テスト</スコープ> 
		</依存> 
	</依存関係> 

	<dependencyManagement> 
		<依存関係> 
				<groupIdを> org.springframework.cloud </ groupIdを>
				<たartifactId>ばねクラウド依存性</たartifactId> 
				<バージョン> $ {ばねcloud.version} </バージョン> 
				<タイプ> POM </ type>の
				<スコープ>インポート</スコープ> 
			</依存> 
		</依存関係> 
	</ dependencyManagement> 

	<構築> 
		<プラグイン> 
			<プラグイン> 
				<groupIdを> org.springframework.boot </ groupIdを> 
				<たartifactId>春・ブートのmaven-pluginの</たartifactId> 
			</プラグイン> 
		</プラグイン> 
	</ビルド> 

</プロジェクト>

 設定ファイルでapplication.yml

サーバー:
  ポート:9090 
ユーレカ:
  インスタンス:
    ホスト名:localhostのの
#ユーレカは、スタンドアローンので、あなたには、いくつかの設定やりたいので
  クライアント:
    登録-と-ユーレカを:偽は
    FETCH-レジストリ:偽#ユーレカサーバーであることを自分自身を示す
    サービス-URL :
     defaultzone:HTTP:// eureka.instance.hostname} {$:$ {}はserver.port /ユーリカ/

 でスタートアップクラスspringbootで@EnableEurekaServer

 

@EnableEurekaServer 
@SpringBootApplication 
パブリッククラスEurekaserverApplication { 

	パブリック静的無効メイン(文字列[] args){ 
		SpringApplication.run(EurekaserverApplication.class、引数)。
	} 

}

 

 ページにアクセスするためにサービスを開始します。http:// localhost:9090

 

第三に、サービスプロバイダを作成します(ユーレカクライアント)

クライアントがサーバーに登録すると、そのようなので、上のホストとポート、URL、家として、いくつかのメタデータを提供します。ユーレカ・サーバは、各クライアントのインスタンスからハートビートメッセージを受け取ります。アウトハートビート時間は、それが通常であれば、インスタンスが登録サーバーから削除されます。

そして同じのサービス側の作成は、唯一のクラスspringbootの開始に追加する必要があり@EnableEurekaClient

Application.yml設定ファイル

サーバー:
  ポート:9091の
#ネームサービス
春:
  アプリケーション:
    名前:サービス-HI 
ユーレカ:
  クライアント:
    サービス-URL:
     defaultzoneます。http:// localhost:9090 /ユーリカ/

 コントローラを書きます

@RestController 
パブリッククラスUserControllerで{ 

    @Autowired 
    プライベートEurekaClient eurekaClientを。
    @value( "$ {}はserver.port")
    ストリングポート。
    @RequestMapping( "/ユーザ")
    のパブリック文字列のホーム(@RequestParam文字列名){ 
        リターン"访问的端口是:" +ポート。
    } 
    @GetMapping( "/情報")
    パブリック文字列GETINFO(){ 
        InstanceInfo instanceInfo = eurekaClient.getNextServerFromEureka( "サービス-HI"、偽)。
        instanceInfo.getHomePageUrlを返します(); 
    } 

}

 2つのサービスを開始し、その後、あなたはすべての登録されたサービス、サービス名の登録がある見ることができます:サービス-HI、ポート番号:9091

完成しました。

 

おすすめ

転載: www.cnblogs.com/xiaofuzi123456/p/11444310.html