SpringCloud(アリババ版)ナコスレジストリ

A、ナコスさんのプロフィール

なぜそれがナコスと呼ばれていますか?

  最初の4つの文字は、ネーミングとコンフィギュレーションの最初の2つの文字あり、sが最後のサービスです。したがって、組成ナコス

何ですか?

  ナコスは、ダイナミッククラウドネイティブアプリケーションサービスの発見、構成管理およびサービス管理プラットフォームを構築することは容易です。使用春クラウドアリババナコス発見、あなたは、迅速なアクセスナコスサービス登録のための春のクラウドベースのプログラミングモデル化することができます。

  • ナコス:動的なネーミング・コンフィグレーション・サービス。

  • ナコス:実際には、ユーレカ+コンフィグサービスレジストリサービス構成センターの組み合わせ。

 

第二に、ナコスをインストールして実行

どこでダウンロードするには?

  GitHubの初訪問ナコスアドレス:https://github.com/alibaba/Nacos 、見つけるhttp://nacos.io リンクナコス公式サイトを:

ナコス公式サイトを入力した後、その後、V1.2.0バージョンのリリースノートをクリックします。

そして最後に1.2.0ダウンロードページへ:https://github.com/alibaba/nacos/releases/tag/1.2.0 資産メニューでOKで、そこnacos-server-1.2.0.zipダウンロード(タール.gzのは、LinuxのバージョンであるZIPは)Windowsのバージョンです。

ファイル名を指定して実行ナコス:

  自分のダウンロードサービスナコスの検索するには、インストールパッケージナコスの成功を抽出した後のbin ディレクトリを、そこにあるSTARTUP.CMD 実行するコマンド、ダブルクリックの開始は:

この場合、標準のスタンドアローンモードナコスサービスが成功し始め、ナコスTomcatのデフォルトのポート番号は8848です。8848のこぎりこの数字、不随意に回帰し8848チタン電話、Tucao波を宣伝昔を思い出します!

それが正常に実行されたことを確認するには?

  コマンドに非常に単純な、直接アクセスが正常に実行され、HTTP:// localhostを:8848 /ナコスは/ 、ナコスホーム管理インターフェースに、インターフェースので、何の問題もなく、あなたのナコスサービスに代わって、このインターフェイスの後ナコスのロゴを見ます我々のようなビットは、通常、プロジェクトの管理ページを行います。

私は、バージョン1.2.0を使用しています、あなたはナコスのログインページを入力する必要はありません使用することができます。この時点では関係なく、どのメニュー表示するデータがありません!

 

第三に、サービスプロバイダに基づくナコス

1)build.gradleプロジェクトの依存関係

Gradleのモジュールプロバイダ-ナコスを作成し、ウェブを追加し、アクチュエータの監視とアリババ - ナコス発見依存性

依存関係{ 
   コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータウェブ」

   コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータアクチュエータ」

   コンパイルグループ: ' com.alibaba.cloud」、名前: 『春・クラウド・スターター・アリババ・ナコス発見』、バージョン: 『2.1.0.RELEASE』
}

2)application.yamlプロファイル

サーバー:
  ポート: 8081 
春:
  アプリケーション:
    名前:-ナコスプロバイダー
  クラウド:
    ナコス:
      ディスカバリー:
        server-addrに: 127.0.0.1:8848 #ナコスサービスのアドレスが指定された
管理:
  エンドポイント:
    ウェブ:
      露出:
        含める: '*'を
コードの表示

3)スタートクラスProviderNacosApplication.java

ナコスに@EnableDiscoveryClientスタートアップクラスのノート、春ブートアプリケーションの登録サービスを追加します。

パッケージorg.wesson.cloudalibaba.nacosを。

輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.cloud.client.discovery.EnableDiscoveryClient; 

@EnableDiscoveryClient 
@SpringBootApplication 
パブリック クラスProviderNacosApplication { 

    公共 静的 ボイドメイン(文字列[]引数){ 
        SpringApplication.run(ProviderNacosApplication。クラス、引数)。
    } 

}
コードの表示

4)コントローラ

パッケージorg.wesson.cloudalibaba.nacos.controller; 

輸入org.springframework.beans.factory.annotation.Value;
輸入org.springframework.web.bind.annotation.GetMapping。
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.RestController; 

@RestController 
@RequestMapping( "/クライアント" のパブリック クラスProviderNacosController { 

    @value( "$ {はserver.port}" プライベート文字列するserverPort。

    (@GetMapping "/情報" のパブリック{文字列の情報を()
        リターン「こんにちは、ナコスレジストリ中央するserverPort:」+ するserverPort。
    } 

}
コードの表示

5)試験

ステップ1:サービス上で正常に起動されていナコス

ステップ2:直接実行プロバイダナコススタートアップクラス、ポート8081

ステップ3:最初の訪問HTTP:// localhostを:8081 /クライアント/情報、出力結果は次の通りです:

  • こんにちは、ナコスレジストリ中央するserverPort:8081

ステップ4:その後、訪問HTTPを:// localhostを:8848 /ナコス、サービス管理下のサービスのリストを見つけ、あなたはサービス管理ページナコスに登録されたプロバイダナコスと呼ばれるサービスアプリケーションを見ることができます:

成功を構築するために、この時点で、ナコス+サービスレジストリサービスプロバイダ。

 

第四に、ナコスベースの消費者サービス

1)build.gradleプロジェクトの依存関係

消費者ナコスGradleのモジュールを作成し、ウェブを追加し、アクチュエータの監視とアリババ - ナコス発見依存性

依存関係{ 
   コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータウェブ」

   コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータアクチュエータ」

   コンパイルグループ: ' com.alibaba.cloud」、名前: 『春・クラウド・スターター・アリババ・ナコス発見』、バージョン: 『2.1.0.RELEASE』
}

2)application.yamlプロファイル

サーバー:
  ポート: 8000 
春:
  アプリケーション:
    名前:消費者ナコス
  クラウド:
    ナコス:
      ディスカバリー:
        server-addrに: 127.0.0.1:8848 #ナコスサービスのアドレスが指定された
:管理
  エンドポイント:
    ウェブ:
      露出:
        含める: '*' 
サービス、URLを:
  プロバイダナコス:HTTP:マイクロサービス//プロバイダーナコス#名の消費者は(マイクロナコスサービスプロバイダに登録)への訪問を支払うことになります
コードの表示

3)スタートクラスConsumerNacosApplication.java

パッケージorg.wesson.cloudalibaba.nacosを。

輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.cloud.client.discovery.EnableDiscoveryClient;
輸入org.springframework.cloud.client.loadbalancer.LoadBalanced;
輸入org.springframework.context.annotation.Bean;
輸入org.springframework.web.client.RestTemplate; 

@EnableDiscoveryClient 
@SpringBootApplication 
パブリック クラスConsumerNacosApplication { 

    @Bean 
    @LoadBalanced 
    公共RestTemplate restTemplate(){
        返す 新しいRestTemplateを(); 
    } 

    パブリック 静的 ボイドメイン(文字列[]引数){ 
        SpringApplication.run(ConsumerNacosApplication。クラス、引数)。
    } 

}
コードの表示

4)コントローラ

パッケージorg.wesson.cloudalibaba.nacos.controller; 

輸入org.slf4j.Logger;
輸入org.slf4j.LoggerFactory。
輸入org.springframework.beans.factory.annotation.Autowired;
輸入org.springframework.beans.factory.annotation.Value;
輸入org.springframework.cloud.client.ServiceInstance。
輸入org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
輸入org.springframework.web.bind.annotation.GetMapping。
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.RestController;
インポートorg.springframework.web.client.RestTemplate; 

@RestController 
@RequestMapping( "/クライアント" パブリック クラスConsumerNacosController { 

    プライベート 静的 最終ロガーロガー= LoggerFactory.getLogger(ConsumerNacosController。クラス)。

    @Autowired 
    プライベートRestTemplate restTemplate。

    @Autowired 
    プライベートLoadBalancerClient loadBalancerClient。

    @value( "$ {サービスurl.provider-ナコス}" プライベート文字列consumerServiceUrl。

    (@GetMapping "/情報" のパブリック{文字列の情報を()
        // getForObject方法
        リターン restTemplate.getForObject(consumerServiceUrl + "/クライアント/情報"、文字列。クラス); 
    } 

    @GetMapping( "/ログ情報インスタンス" 公共 ボイドLOGINFO(){ 
        ServiceInstance ServiceInstance = この .loadBalancerClient.choose ( "プロバイダ-ナコス" );
         // プリントノードが選択される 
        ConsumerNacosController.LOGGER.info( "{}:{}:{}" 、serviceInstance.getServiceId()、
                serviceInstance.getHost()、serviceInstance.getPort( )); 
    } 

}
コードの表示

5)試験

ステップ1:サービス上で正常に起動されていナコス

ステップ2:ファイル名を指定して実行プロバイダ-ナコスが起動し、クラス2つのインスタンス、ポート8081,8082

ステップ3:ファイル名を指定して実行の消費者ナコススタートアップクラス、ポート8000

ステップ4:に多くの訪問HTTP:// localhostを:8000 /クライアント/情報、次の結果が返されました:

  • こんにちは、ナコスレジストリ中央するserverPort:8081

ステップ5:に多くの訪問HTTP:// localhostを:8000 /クライアント/ログ情報インスタンス、コンソールには次のログ情報を出力します:

ステップ6:最終的に戻って訪問するにhttp:// localhostを:8848 /ナコスの管理プラットフォームは、我々はサービス・プロバイダーの数が2つのインスタンスを持って見ることができ、およびサービスの消費者はナコスサービス管理ページに登録している、インスタンスの数を持っています:

6)なぜナコスサポート負荷分散?

  技術統合の後ろのアリは非常に良いので、春クラウドアリババは、前の春クラウドNetflixの技術の技術の長所を吸収し、それが自然にデフォルトのロードバランシングが付属しています。私たちは、右端IDEAのにGradleの依存を見つける開きます。

長い間、それはNetflixのリボンが明らかに、第一の支持ロードバランシング(負荷分散)で使用されるように、第二は、リモートRESTスタイルの呼び出しを行い、RestTemplateを呼び出すことができます。

 

おすすめ

転載: www.cnblogs.com/wessonshin/p/12622335.html