サービスセンターへの登録サービス(領事)
POMファイルを頼りに追加
POMファイルに次の依存関係を追加します。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
健康診断を担当するのスプリングブート・スターター・アクチュエータ、春・クラウド・スターター・領事 -discovery 領事のサポートを担当。
春・クラウド・スターター・consul-にバージョン番号が明確に参照する必要があります発見、 我々のプロジェクトのBOOTバージョンが2.1.8.RELEASEある春-クラウドstarter-、領事・ディスカバリー、バージョン番号が2.1.3.RELEASEであることができます春の雲の公式サイトが見つかりました。
DependencyManagementの春 - クラウド・スターター・領事発見のバージョン番号を示すことができないPOMファイルに以下を追加し、バージョン番号を管理したり、使用します。
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR3</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
.....
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
.....
</dependencies>
プロファイル
spring.application.name=spring-cloud-provider-01
server.port=9000
spring.cloud.consul.host=localhost
#consul端口可以自行修改
spring.cloud.consul.port=8500
#注册到consul的服务名称
spring.cloud.consul.discovery.serviceName=service-provider
スタートアップクラス
SpringCloudProviderApplication.java
@SpringBootApplication
//支持服务发现
@EnableDiscoveryClient
public class SpringCloudProviderApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudProviderApplication.class, args);
}
}
サービスを開始
:自動的に良いサービスが登録されている見ることができます領事制御インタフェースに戻り、登録サービスの処理が完了した後にサービスを開始し
、サービスプロバイダは、サービスが唯一のマイクロサービスであることがわかりますクリックしてください。
ロードバランシング
我々はマイクロ複製サービスのスプリングのクラウド・プロバイダー秒で、ばねのクラウド・プロバイダー・プログラムを参照し、HelloWorldクラスを区別するように変更された:
春-クラウド・プロバイダーのプロジェクトHelloWorldクラス:
@RestController
public class HelloWorld {
@RequestMapping("/hello")
public String Hello(@RequestParam String name){
return "你好!" + name + ",这是第一个微服务。";
}
}
春・クラウド・プロバイダー・プロジェクトの第2 HelloWorldクラス:
@RestController
public class HelloWorld {
@RequestMapping("/hello")
public String Hello(@RequestParam String name){
return "你好!" + name + ",这是第二个微服务。";
}
}
ポート番号の春-クラウド・プロバイダー秒のプロジェクトを変更します。
春・クラウド・プロバイダー秒のプロジェクトは、ファイルの内容をapplication.properties:
spring.application.name=spring-cloud-provider-02
server.port=9001
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
#注册到consul的服务名称
spring.cloud.consul.discovery.serviceName=service-provider
サービスプロバイダーサービスプロバイダーは、2つのサービスプロバイダを浮上している表示、春・クラウド・プロバイダー秒のプロジェクトを開始します。
ソース
Githubのリポジトリます。https://github.com/sunweisheng/spring-cloud-example