Heim  >  Artikel  >  Java  >  Ausführliche Erläuterung von Beispielen zur Dienstregistrierung und Entdeckung von „Microservices“

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

Y2J
Y2JOriginal
2017-05-12 09:58:094141Durchsuche

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'
}

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);
  }
}

application.yml configure eurekaattributes

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

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'
}

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);
  }
}

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 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

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/

[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!

Stellungnahme:
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