Pertama instal lingkungan konsul, lihat artikel sebelumnya: https://www.vevb.com/article/141789.htm
Perencanaan Proyek, 2 Server, 1 Klien
Pertama -tama lihat sisi server.
Satu: Server 1:
Ketergantungan proyek
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-consul-dependencies</artifactId> <version>1.0.1.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependency> </dependency> </dependencyManagement> <Dependencies> <dependency> <GroupId> org.springframework.boot </groupId> <ArTifactId> spring-boot-aktuator </t Artifactid> <version> 1.3.5.release </version> </dependency> <dependency> <groupid> org.springframework.cloud </groupid> <ArTifactId> Spring-cloud-starter-consul-discovery </artifactid> </gandendency> </dependencies>
Perhatikan bahwa menambahkan aktuator Spring-Boot adalah sehingga proyek dapat mengakses jalur /kesehatan untuk menentukan apakah layanan tersebut sehat.
paket com.pp.consul1; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.cloud.client.discovery.enableDiscoveryclient; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.RestController; @SpringbootApplication @EnableDiscoveryClient @RestController Kelas Publik Consulapp {@RequestMapping ("/home") home objek publik () {System.out.println ("111111111111111111); mengembalikan "ok11"; } public static void main (string [] args) {springApplication.run (consulapp.class, args); }} Application.Properti Konten Konfigurasi
server.port = 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.consul.discovery.cloud. 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 Saya telah membaca artikel saya sebelumnya dan saya harus sangat jelas tentang konfigurasi ini. Dengan cara ini, server akan dikonfigurasi dan ditulis.
Karena kami telah menambahkan anotasi @EnableDiscoveryclient, ketika sistem dimulai, layanan akan terdaftar dengan konsul. Nama layanannya adalah Tomcat dan ID Tomcat1
API HTTP dari Konsul Access adalah output sebagai berikut:
{"Node": "192.168.1.100", "Alamat": "192.168.1.100", "ServiceId": "Tomcat1", "ServiceName": "Tomcat", "ServiceTags": ["Dev"], "ServiceAddress": "192.168.9.95," Dev "": 99: 99, "92.168.95," Dev "": "192.95," Dev "," Dev ":" 192.168.99, "Dev", "Dev", "192.92," Dev "," LAGICEADDRESS ":" 192.9. "ServiceEnableTagoverRide": false, "createIndex": 993, "ModifyIndex": 1057}Dua: Server 2
Ketergantungan proyek sama seperti di atas
paket com.pp.consul2; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.cloud.client.discovery.enableDiscoveryclient; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.RestController; @SpringbootApplication @EnableDiscoveryClient @RestController Kelas publik Consulapp {@RequestMapping ("/home") Public Object Home () {System.out.println ("2222222222222222222222"); mengembalikan "ok22"; } public static void main (string [] args) {springApplication.run (consulapp.class, args); }}Application.Properti Konten Konfigurasi:
server.port = 9966 spring.application.name = konsul-server-2 spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.enabled = true spring.cloud.consul.discovery.cloud.consul true.cloud. 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 = uji Tiga: Klien
Dependensi proyek, hanya spring-cloud-starter-consul-discovery
Application.Properti Konten Konfigurasi:
server.port = 9977 spring.application.name = konsul-klien spring.cloud.consul.host = 192.168.1.100 spring.cloud.consul.port = 8500 spring.cloud.consul.discovery.register = false
Perhatikan bahwa spring.cloud.consul.discover.register di sini perlu dikonfigurasi ke false, jika tidak, layanan akan terdaftar dengan konsul ketika sistem dimulai.
paket com.pp.client; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.cloud.client.discovery.discoveryclient; impor org.springframework.cloud.client.discovery.enableDiscoveryclient; impor org.springframework.cloud.client.loadbalancer.loadBalancerClient; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.RestController; @SpringbootApplication @EnableDiscoveryClient @RestController Kelas Publik Konsulsi {@Autowired Private LoadBalancerClient LoadBalancer; @Autowired Private Discoveryclient Discoveryclient; /** * Pilih Layanan dari Semua Layanan (Polling) */@RequestMapping ("/Discover") Public Object Discover () {return loadBalancer.Choose ("tomcat"). Geturi (). ToString (); }/*** Dapatkan semua layanan*/@RequestMapping ("/services") layanan objek publik () {return DiscoveryClient.getInstances ("tomcat"); } public static void main (string [] args) {springApplication.run (consulclient.class, args); }} Setelah startup, Anda dapat mengakses /menemukan dan /layanan untuk melihat efeknya.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.