最初に領事環境をインストールして、前の記事を参照してください:https://www.vevb.com/article/141789.htm
プロジェクト計画、2つのサーバー、1つのクライアント
最初にサーバー側を見てください。
1つ:サーバー1:
プロジェクトの依存関係
<DependencyManagement> <Dependencies> <Dependency> <GroupId> org.springframework.cloud </groupId> <artifactid> spring-cloud-consul-dependencies </artifactid> <バージョン> 1.0.1.release </version> <type> pom </type> <scop <Dependencies> <Dependency> <groupId> org.springframework.boot </groupId> <artifactid> spring-boot-actuator </artifactid> <バージョン> 1.3.5.RELEASE </version> </dependency> <deplency> <groupid> org.springframework.cloud </groupid> <artifactid> spring-cloud-starter-consul-discovery </artifactid> </dependency> </dependencies>
Spring-Boot-Actuatorの追加は、プロジェクトが /健康パスにアクセスしてサービスが健康かどうかを判断できるようにすることに注意してください。
パッケージcom.pp.consul1; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springbootapplication; org.springframework.cloud.client.discovery.enablediscoveryclientをインポートします。 org.springframework.web.bind.annotation.requestmappingをインポートします。 org.springframework.web.bind.annotation.restControllerをインポートします。 @SpringBootApplication @EnableDisCoveryClient @RestController Public Class ConsulApp {@RequestMapping( "/home")public object Home(){System.out.println( "11111111111111111111111111111111111111111111111111111年年数"); 「OK11」を返します。 } public static void main(string [] args){springApplication.run(consulapp.class、args); }} Application.Properties構成コンテンツ
サーバー= 9955 spring.application.name = consul-server-1 spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.enabled = true spring.cloud.consul.discovery.enabled = true sprun.cloud.consul.consul.discovery.discovery.discovery. spring.cloud.consul.discovery.servicename = tomcat spring.cloud.consul.discovery.hostname = 192.168.2.95 spring.cloud.consul.discovery.port = $ {server.port} spring.cloud.consul.discovery.healthcheckurl = http://192.168.2.95:9955/Health spring.cloud.consul.discovery.healthcheckinterval = 10s spring.cloud.consul.discovery.tags = dev私は以前の記事を読んだことがありますが、これらの構成について非常に明確にする必要があります。このようにして、サーバーが構成され、書き込まれます。
@enablediscoveryclientアノテーションを追加したため、システムが起動すると、サービスが領事に登録されます。サービス名はtomcatで、IDはtomcat1です
Access ConsulのHTTP APIは次のように出力されます。
{"node": "192.168.1.100"、 "address": "192.168.1.100"、 "servicatid": "tomcat1"、 "servicename": "tomcat"、 "serviceTags":["dev"]、 "serviceaddress": "192.168.2.95"、 "serviceport" 「ServiceEnableTagoverride」:False、 "CreateIndex":993、 "ModifyIndex":1057}2:サーバー2
プロジェクトの依存関係は上記と同じです
パッケージcom.pp.consul2; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springbootapplication; org.springframework.cloud.client.discovery.enablediscoveryclientをインポートします。 org.springframework.web.bind.annotation.requestmappingをインポートします。 org.springframework.web.bind.annotation.restControllerをインポートします。 @SpringBootApplication @EnableDiscoveryClient @RestController public class ConsulApp { @RequestMapping("/home") public Object home() { System.out.println("222222222222222222222"); "ok22"を返します。 } public static void main(string [] args){springApplication.run(consulapp.class、args); }}Application.Properties構成コンテンツ:
サーバー= 9966 spring.application.name = consul-server-2 spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.enabled = true spring.cloud.consul.discovery.enabled = true sprun.cloud.consul.consul.discovery.discovery.discovery. spring.cloud.consul.discovery.servicename = tomcat spring.cloud.consul.discovery.hostname = 192.168.2.95 spring.cloud.consul.discovery.port = $ {server.port} spring.cloud.consul.discovery.healthcheckurl = http://192.168.2.95:9966/health spring.cloud.consul.discovery.healthcheckinterval = 10s spring.cloud.consul.discovery.tags = test 3:クライアント
プロジェクトの依存関係、Spring-Cloud-Starter-Consulの発見
Application.Properties構成コンテンツ:
server.port = 9977 spring.application.name = consul-client spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.discovery.register = fals
spring.cloud.consul.discovery.registerはfalseに設定する必要があります。そうしないと、システムが開始されると、サービスがConsulに登録されることに注意してください。
パッケージcom.pp.client; Import org.springframework.beans.factory.annotation.autowired; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springbootapplication; org.springframework.cloud.client.discovery.discoveryclientをインポートします。 org.springframework.cloud.client.discovery.enablediscoveryclientをインポートします。 org.springframework.cloud.client.loadbalancer.loadbalancerclientをインポートします。 org.springframework.web.bind.annotation.requestmappingをインポートします。 org.springframework.web.bind.annotation.restControllerをインポートします。 @springBootApplication @EnableDisCoveryClient @RestController Public Class ConsulClient {@Autowired PrivateBalancerClient LoadBalancer; @Autowired Private DiscoveryClient DiscoveryClient; /** *すべてのサービス(Polling)からサービスを選択 */@requestMapping( "/discove")public object discover(){return loadbalancer.choose( "tomcat")。geturi()。toString(); }/***すべてのサービスを取得*/@RequestMapping( "/services")public object Services(){return discoveryClient.getInstances( "tomcat"); } public static void main(string [] args){springApplication.run(consulclient.class、args); }}起動後、効果を表示するためにアクセス /発見および /サービスを提供できます。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。