A、ナコスさんのプロフィール
なぜそれがナコスと呼ばれていますか?
最初の4つの文字は、ネーミングとコンフィギュレーションの最初の2つの文字あり、sが最後のサービスです。したがって、組成ナコス。
何ですか?
ナコスは、ダイナミッククラウドネイティブアプリケーションサービスの発見、構成管理およびサービス管理プラットフォームを構築することは容易です。使用春クラウドアリババナコス発見、あなたは、迅速なアクセスナコスサービス登録のための春のクラウドベースのプログラミングモデル化することができます。
-
ナコス:動的なネーミング・コンフィグレーション・サービス。
-
ナコス:実際には、ユーレカ+コンフィグサービスレジストリサービス構成センターの組み合わせ。
第二に、ナコスをインストールして実行
どこでダウンロードするには?
ナコス公式サイトを入力した後、その後、V1.2.0バージョンのリリースノートをクリックします。
ファイル名を指定して実行ナコス:
自分のダウンロードサービスナコスの検索するには、インストールパッケージナコスの成功を抽出した後のbin ディレクトリを、そこにあるSTARTUP.CMD 実行するコマンド、ダブルクリックの開始は:
この場合、標準のスタンドアローンモードナコスサービスが成功し始め、ナコスTomcatのデフォルトのポート番号は8848です。8848のこぎりこの数字、不随意に回帰し8848チタン電話、Tucao波を宣伝昔を思い出します!!!
それが正常に実行されたことを確認するには?
コマンドに非常に単純な、直接アクセスが正常に実行され、HTTP:// localhostを:8848 /ナコスは/ 、ナコスホーム管理インターフェースに、インターフェースので、何の問題もなく、あなたのナコスサービスに代わって、このインターフェイスの後ナコスのロゴを見ます我々のようなビットは、通常、プロジェクトの管理ページを行います。
私は、バージョン1.2.0を使用しています、あなたはナコスのログインページを入力する必要はありません使用することができます。この時点では関係なく、どのメニュー表示するデータがありません!
第三に、サービスプロバイダに基づくナコス
Gradleのモジュールプロバイダ-ナコスを作成し、ウェブを追加し、アクチュエータの監視とアリババ - ナコス発見依存性
依存関係{ コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータウェブ」 コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータアクチュエータ」 コンパイルグループ: ' com.alibaba.cloud」、名前: 『春・クラウド・スターター・アリババ・ナコス発見』、バージョン: 『2.1.0.RELEASE』 }
サーバー: ポート: 8081 春: アプリケーション: 名前:-ナコスプロバイダー クラウド: ナコス: ディスカバリー: server-addrに: 127.0.0.1:8848 #ナコスサービスのアドレスが指定された 管理: エンドポイント: ウェブ: 露出: 含める: '*'を
3)スタートクラスProviderNacosApplication.java
パッケージ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。クラス、引数)。 } }
パッケージ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。 } }
ステップ1:サービス上で正常に起動されていナコス
ステップ2:直接実行プロバイダナコススタートアップクラス、ポート8081
ステップ3:最初の訪問HTTP:// localhostを:8081 /クライアント/情報、出力結果は次の通りです:
-
こんにちは、ナコスレジストリ中央するserverPort:8081
ステップ4:その後、訪問HTTPを:// localhostを:8848 /ナコス、サービス管理下のサービスのリストを見つけ、あなたはサービス管理ページナコスに登録されたプロバイダナコスと呼ばれるサービスアプリケーションを見ることができます:
成功を構築するために、この時点で、ナコス+サービスレジストリサービスプロバイダ。
第四に、ナコスベースの消費者サービス
1)build.gradleプロジェクトの依存関係
依存関係{ コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータウェブ」 コンパイル群:「org.springframework.boot」、名称:「ばねブートスタータアクチュエータ」 コンパイルグループ: ' com.alibaba.cloud」、名前: 『春・クラウド・スターター・アリババ・ナコス発見』、バージョン: 『2.1.0.RELEASE』 }
サーバー: ポート: 8000 春: アプリケーション: 名前:消費者ナコス クラウド: ナコス: ディスカバリー: server-addrに: 127.0.0.1:8848 #ナコスサービスのアドレスが指定された :管理 エンドポイント: ウェブ: 露出: 含める: '*' サービス、URLを: プロバイダナコス:HTTP:マイクロサービス//プロバイダーナコス#名の消費者は(マイクロナコスサービスプロバイダに登録)への訪問を支払うことになります
パッケージ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。クラス、引数)。 } }
パッケージ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)なぜナコスサポート負荷分散?
技術統合の後ろのアリは非常に良いので、春クラウドアリババは、前の春クラウドNetflixの技術の技術の長所を吸収し、それが自然にデフォルトのロードバランシングが付属しています。私たちは、右端IDEAのにGradleの依存を見つける開きます。
長い間、それはNetflixのリボンが明らかに、第一の支持ロードバランシング(負荷分散)で使用されるように、第二は、リモートRESTスタイルの呼び出しを行い、RestTemplateを呼び出すことができます。