LoadBalancerClient使用
DiscoveryClient、などのサービス関連のガバナンスの抽象インタフェース、多数の中で春クラウド・コモンズで提供し、ここではそうでLoadBalancerClientを導入し、しようとしています。我々は登録と発見にサービスを導入し、これらのインタフェースの定義については、我々は簡単に別のサービス制御機能を置き換えることができるように春の雲はこのレベルの抽象化、サービス管理システムの優れたデカップリングを行う、と述べています。社会電子商取引プラットフォームのソースコード、ペンギンBEGを追加してください。3 4 5 6 3 II気II五十から九
命名LoadBalancerClientインターフェースから、我々はのは、消費者の春クラウドを使用する方法を見てみましょう、これはクライアントの負荷分散の抽象定義であることを知っているサービスを実装するためのロードバランシングのクライアント・インタフェースを提供します。
次の例では、我々は基礎として、サービスプロバイダとしてサービスレジストリ、ユーレカ・クライアントとしてユーレカ・サーバーで構築されたものを使用します。
ユーレカ・消費者:さんは、名前の消費者向けサービス事業を、作成してみましょう。そして、のpom.xmlに依存関係を導入する(dependencyManagementはここでは省略し、親の設定):
<依存性> <依存性> <のgroupId> org.springframework.cloud </のgroupId> <たartifactId>ばねクラウドスタータユーレカ</たartifactId> </依存> <依存性> <のgroupId> org.springframework.boot </のgroupId > <たartifactId>ばねブートスタータウェブ</たartifactId> </依存> <依存性> <のgroupId> org.springframework.boot </のgroupId> <たartifactId>ばねブートスタータアクチュエータ</たartifactId> </依存関係> </依存関係>
application.properties、指定されたアドレスユーレカレジストリの設定:
spring.application.name = eureka- 消費者 はserver.port = 2101 eureka.client.serviceUrl.defaultZone =のhttp:// localhostを:1001 /ユーリカ/
メインクラスを作成します。初期RestTemplateは、実際のREST要求を開始します。@EnableDiscoveryClientは、サービスガバナンス体制に参加する現在のアプリケーションのために指摘しています。
@EnableDiscoveryClient @SpringBootApplication パブリック クラスアプリケーション{ @Bean 公共RestTemplate restTemplate(){ 戻り 新しい)(RestTemplateします。 } パブリック 静的 ボイドメイン(文字列[]引数){ 新しい SpringApplicationBuilder(アプリケーションクラス).web(真).RUN(引数)。 } }
が提供する消費ユーレカ・クライアント・インタフェースに使用するインターフェイスを作成します。
@RestController パブリック クラスDcController { @Autowired LoadBalancerClient loadBalancerClient。 @Autowired RestTemplate restTemplate。 (@GetMapping "/消費者" ) 公衆ストリングDC(){ ServiceInstance serviceInstance = loadBalancerClient.choose( "ユーレカクライアント" )。 文字列のURL = "のhttp://" + serviceInstance.getHost()+ ":" + serviceInstance.getPort()+ "/ DC" 。 System.out.println(URL); 返す restTemplate.getForObject(URL、文字列クラス)。 } }
あなたは私たちがLoadBalancerClientとRestTemplateを注入し、かつ/消費者インタフェースによって負荷の関数を選択する最初の実装、ここで見ることができますloadBalancerClientバランスユーレカ・クライアント・サービスのインスタンスを選出、基本的な情報は、サービスインスタンスServiceInstanceに保存されていますそして、アクセス/ DCインタフェースに情報を介して詳細なアドレスをこれらのオブジェクトを縫合し、最後RestTemplateオブジェクトの使用は、インタフェースがサービスに発信者を提供して実現します。
今から、私は春の雲の開発フレームワークに興味の友人の助けを持って、プロセスを構築し、マイクロサービスのクラウドアーキテクチャspringcloudレコードの最近の開発の本質にはこちらになります、私はより良い学者を助けるために願っています。私たちは、構築し、エンタープライズプロジェクトを適用する方法春のクラウドアーキテクチャの過程を探るために一緒に来ます。
社会電子商取引プラットフォームのソースコード、ペンギンBEGを追加してください。3 4 5 6 3 II気II五十から九