Heim > Java > javaLernprogramm > Hauptteil

Ausführliche Erläuterung von Beispielen zur Dienstregistrierung und Entdeckung von „Microservices'

Y2J
Freigeben: 2017-05-12 09:58:09
Original
4068 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich Beispiele für die Registrierung und Entdeckung von SpringBoot-Diensten vorgestellt, die einen gewissen Referenzwert haben

Microservices

Natürliches Üben von „Microservices“. erfordert das Erlernen der Dienstregistrierung und -erkennung

Um auf SpringBoot basierende Microservices zu erlernen, ist es selbstverständlich, sich für SpringCloud zu entscheiden, das natürlich eng damit zusammenhängt Als Dubbo

können Sie Zookeeper auch zum Implementieren der Dienstregistrierung und -erkennung verwenden. Ob Zookeeper für die Implementierung dieser Funktion gut oder schlecht ist, hat jeder seine eigene Meinung

SpringCloud

Spring Cloud bietet Entwicklern Tools zum schnellen Erstellen einiger gängiger Muster in verteilten Systemen

SpringCloud umfasst die verteilte/versionierte Konfiguration / versionierte Konfiguration und viele weitere Unterprojekte.

  1. Verteilte/versionierte Konfiguration

  2. Dienstregistrierung und -erkennung

  3. Routing

  4. Service-zu-Service-Einsätze

  5. Lastausgleich

  6. Leistungsschalter

  7. Globale Sperren

  8. Führungswahl und Clusterstatus

  9. Verteilte Nachrichtenübermittlung

Dienstregistrierung und -erkennung

SpringCloud-Modul

spring-cloud-starter-eureka-server

EngineeringModul

  1. Service-Registrierungscenter

  2. Service-Modul

Service-Registrierungscenter

Discovery-Modul erstellen und Spring-Cloud-Starter-Eureka-Server-Abhängigkeit in build.gradle einführen

apply plugin: 'org.springframework.boot'

dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion
  }
}
repositories {
  mavenCentral()
}
dependencies {
  compile ('org.springframework.cloud:spring-cloud-starter-eureka-server')
}
jar {
  baseName = 'discovery-bootcwenao'
}
Nach dem Login kopieren

Registrierungscenter-Service durch Annotation @EnableEurekaServer bereitstellen

/**
 * @author cwenao
 * @version $Id DiscoveryBootcwenaoApplication.java, v 0.1 2017-01-12 9:56 cwenao Exp $$
 */
@EnableEurekaServer
@SpringBootApplication
public class DiscoveryBootcwenaoApplication {
  public static void main(String[] args) {
    new SpringApplicationBuilder(DiscoveryBootcwenaoApplication.class).web(true).run(args);
  }
}
Nach dem Login kopieren

application.yml configure eurekaattributes

server:
 port: 8761
eureka:
 instance:
  hostname: discovery
 client:
  registerWithEureka: false
  fetchRegistry: false
  service-url:
   defaultZone: http://discovery:${server.port}/eureka/
Nach dem Login kopieren

Visit localhost:8761


Dienstregistrierung

Erstellen Sie ein Servicemodul und führen Sie spring-cloud-starter-eureka in build.gradle ein.

apply plugin: 'org.springframework.boot'
dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion
  }
}

dependencies {
  compile('org.springframework.cloud:spring-cloud-starter-eureka')
  compile('org.springframework.cloud:spring-cloud-stream')
}
sourceSets {
  main {
    resources.srcDirs = ['src/main/resources', 'src/main/java']
    resources.includes = ['**/*.xml', '**/*.yml']
  }
}
jar {
  baseName = 'apigateway-bootcwenao'
}
Nach dem Login kopieren

Registrieren Sie den Dienst, indem Sie @EnableDiscoveryClient mit Anmerkungen versehen

@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayBootcwenaoApplication {
  public static void main(String[] args) {
    SpringApplication.run(ApiGatewayBootcwenaoApplication.class, args);
  }
}
Nach dem Login kopieren

Anwendung .yml Eureka-Attribute konfigurieren

server:
 port: 10002
spring:
 application:
  name: apigateway
eureka:
 client:
  registerWithEureka: true
  fetchRegistry: true
  serviceUrl:
   defaultZone: http://localhost:8761/eureka/
Nach dem Login kopieren

Nach Abschluss der Registrierung können Sie über die Konfiguration von spring.application.name auf den Dienst zugreifen

Besuchen Sie localhost:8761 und stellen Sie fest, dass der Dienst bereits verfügbar ist registriert Registrieren Sie sich im Center


Das Service-Registrierungscenter aktiviert Benutzernamen und Passwort

durch Konfigurieren des Benutzernamens und Passworts von applicationlicaiton.yml

security:
 basic:
  enabled: true
 user:
  name: aa
  password: abcd
Nach dem Login kopieren

Service Provider application.yml konfigurieren

eureka:
 instance:
  hostname: configserver
  prefer-ip-address: true
 client:
  registerWithEureka: true
  fetchRegistry: true
  service-url:
   defaultZone: http://aa:abcd@localhost:8761/eureka/
Nach dem Login kopieren

[Verwandte Empfehlungen]

1. Java kostenlos Video-Tutorial

2. JAVA-Tutorial-Handbuch

3.Umfassende Analyse von Java-Annotationen

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen zur Dienstregistrierung und Entdeckung von „Microservices'. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!