3536247259:ソースの電子商取引プラットフォームペンギンBEGを追加してください。DiscoveryClientを含むサービス関連のガバナンス抽象インタフェース、多数の中で春クラウド・コモンズで提供、ここではそうでLoadBalancerClientを導入し、しようとしています。我々は登録と発見にサービスを導入し、これらのインタフェースの定義については、我々は簡単に別のサービス制御機能を置き換えることができるように春の雲はこのレベルの抽象化、サービス管理システムの優れたデカップリングを行う、と述べています。
命名LoadBalancerClientインターフェースから、我々はのは、消費者の春クラウドを使用する方法を見てみましょう、これはクライアントの負荷分散の抽象定義であることを知っているサービスを実装するためのロードバランシングのクライアント・インタフェースを提供します。
次の例では、我々は基礎として、サービスプロバイダとしてサービスレジストリ、ユーレカ・クライアントとしてユーレカ・サーバーで構築されたものを使用します。
ユーレカ・消費者:さんは、名前の消費者向けサービス事業を、作成してみましょう。そして、のpom.xmlに依存関係を導入する(dependencyManagementはここでは省略し、親の設定):
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
application.properties、指定されたアドレスユーレカレジストリの設定:
spring.application.name=eureka-consumer
server.port=2101
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/
メインクラスを作成します。初期RestTemplateは、実際のREST要求を開始します。@EnableDiscoveryClientは、サービスガバナンス体制に参加する現在のアプリケーションのために指摘しています。
@EnableDiscoveryClient
@SpringBootApplication
public class Application {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
が提供する消費ユーレカ・クライアント・インタフェースに使用するインターフェイスを作成します。
@RestController
public class DcController {
@Autowired
LoadBalancerClient loadBalancerClient;
@Autowired
RestTemplate restTemplate;
@GetMapping("/consumer")
public String dc() {
ServiceInstance serviceInstance = loadBalancerClient.choose("eureka-client");
String url = "http://" + serviceInstance.getHost() + ":" + serviceInstance.getPort() + "/dc";
System.out.println(url);
return restTemplate.getForObject(url, String.class);
}
}
あなたは私たちがLoadBalancerClientとRestTemplateを注入し、かつ/消費者インタフェースによって負荷の関数を選択する最初の実装、ここで見ることができますloadBalancerClientバランスユーレカ・クライアント・サービスのインスタンスを選出、基本的な情報は、サービスインスタンスServiceInstanceに保存されていますそして、アクセス/ DCインタフェースに情報を介して詳細なアドレスをこれらのオブジェクトを縫合し、最後RestTemplateオブジェクトの使用は、インタフェースがサービスに発信者を提供して実現します。
上記の完了後にコードを記述し、読者は、ユーレカ・クライアント、ユーレカ、消費者はユーレカ・サーバーを起動している、して、http訪問することができます:// localhostを:2101 /消費者をフォローアップするために観測をユーレカ・消費者サービスがどのように消費されますユーレカ・クライアントサービス/ DCインターフェイス。