قم بتثبيت بيئة القنصل أولاً ، راجع المقالة السابقة: https://www.vevb.com/article/141789.htm
تخطيط المشروع ، خادمان ، عميل واحد
انظر أولاً إلى جانب الخادم.
واحد: الخادم 1:
تبعية المشروع
<RependencyManagement> <ependencies> <redence> <roupiD> org.springframework.cloud </rougeid> <intifactid> عوامل النزول الزبدية الزبدية </type> </scope> </rebination> </remitation> </remitation> </remitation> <ependencies> <reperency> <roupiD> org.springframework.boot </rougiD> <StifactId> spring-boot-actuator </stifactid> <sophy> 1.3.5 <StifactId> اكتشاف النجمة الزراعية النجوية </artifactid> </preminency> </تبعيات>
لاحظ أن إضافة مُثبّل الينابيع-بحيث يمكن للمشروع الوصول إلى المسار /الصحة لتحديد ما إذا كانت الخدمة صحية.
حزمة com.pp.consul1 ؛ استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.SpringBootApplication ؛ استيراد org.springframework.cloud.client.discovery.enabledCoveryClient ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ springBOOTAPPLICATION enablediscoveryclient @restController Consulapp {REquestMapping ("/home") الكائن العام () {system.out.println ("111111111111") ؛ إرجاع "OK11" ؛ } public static void main (string [] args) {springapplication.run (consulapp.class ، args) ؛ }} Application.Properties محتوى التكوين
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 = thrup spring.cloud.consul.discovery.enabled = true 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 والمعرف هو tomcat1
API HTTP لقنصل الوصول هو الإخراج على النحو التالي:
{"Node": "192.168.1.100" ، "العنوان": "192.168.1.100" ، "ServiceId": "Tomcat1" ، "Servicename": "Tomcat" ، "Servicetags: [" "dev"] ، "Serviceaddress": "192.168.295" ، "ServiceNableTagoverride": false ، "CreateIndex": 993 ، "ModifyIndex": 1057}الثاني: الخادم 2
تبعيات المشروع هي نفسها كما هو مذكور أعلاه
حزمة com.pp.consul2 ؛ استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.SpringBootApplication ؛ استيراد org.springframework.cloud.client.discovery.enabledCoveryClient ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ springBOOTAPPLICATION enablediscoveryclient @RestController Consulapp {REquestMapping ("/home") الكائن العام () {system.out.println ("2222222222222222222") ؛ إرجاع "OK22" ؛ } public static void main (string [] args) {springapplication.run (consulapp.class ، args) ؛ }}Application.Properties محتوى التكوين:
server.port = 9966 spring.application.name = consul-server-2 spring.cloud.consul.host = 192.168.1.100 Spring.cloud.consul.port = 8500 spring.cloud.consul.enabled = thrup spring.cloud.consul.discovery.enabled = true 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 ثلاثة: عميل
تبعيات المشروع ، مجرد اكتشاف النجمة الربيعية
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 = false
لاحظ أنه يجب تكوين spring.cloud.consul.dissovery.register هنا إلى خطأ ، وإلا سيتم تسجيل الخدمة مع القنصل عند بدء تشغيل النظام.
حزمة com.pp.client ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.SpringBootApplication ؛ استيراد org.springframework.cloud.client.discovery.discoveryClient ؛ استيراد org.springframework.cloud.client.discovery.enabledCoveryClient ؛ استيراد org.springframework.cloud.client.loadBalancer.LoadBalancerClient ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ springBOOTAPPLICATION enablecoveryClientRestController CORPLINCER CONSULCLINT {AUTOWIRED PRIVATE LOADBALANCERCLIENT LOADBALANCER ؛ @autowired discoveryclient discoveryclient ؛ /** * حدد خدمة من جميع الخدمات (الاقتراع) */ @requestmapping ("/discover") الكائن العام discover () {return loadbalancer.choose ("tomcat"). geturi (). toString () ؛ }/*** احصل على جميع الخدمات*/ @requestmapping ("/services") خدمات الكائنات العامة () {return discoveryclient.getInstances ("tomcat") ؛ } public static void main (string [] args) {springapplication.run (consulclient.class ، args) ؛ }} بعد بدء التشغيل ، يمكنك الوصول إلى /اكتشاف و /خدمات لعرض التأثير.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.