Spring Boot - Serveur Eureka

Eureka Server est une application qui contient les informations sur toutes les applications de service client. Chaque service Micro s'enregistrera sur le serveur Eureka et le serveur Eureka connaît toutes les applications clientes exécutées sur chaque port et adresse IP. Eureka Server est également appelé Discovery Server.

Dans ce chapitre, nous apprendrons en détail comment créer un serveur Eureka.

Construire un serveur Eureka

Eureka Server est fourni avec le bundle de Spring Cloud. Pour cela, nous devons développer le serveur Eureka et l'exécuter sur le port par défaut 8761.

Visitez la page d'accueil de Spring Initializer https://start.spring.io/et téléchargez le projet Spring Boot avec la dépendance au serveur Eureka. Il est montré dans la capture d'écran ci-dessous -

Après avoir téléchargé le projet dans le fichier de classe principal de l'application Spring Boot, nous devons ajouter l'annotation @EnableEurekaServer. L'annotation @EnableEurekaServer est utilisée pour que votre application Spring Boot agisse comme un serveur Eureka.

Le code du fichier de classe d'application Spring Boot principal est comme indiqué ci-dessous -

package com.tutorialspoint.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaserverApplication {
   public static void main(String[] args) {
      SpringApplication.run(EurekaserverApplication.class, args);
   }
}

Assurez-vous que la dépendance au serveur Spring cloud Eureka est ajoutée dans votre fichier de configuration de build.

Le code de la dépendance utilisateur Maven est indiqué ci-dessous -

<dependency>
<groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

Le code de la dépendance utilisateur Gradle est donné ci-dessous -

compile('org.springframework.cloud:spring-cloud-starter-eureka-server')

Le fichier de configuration de construction complet est donné ci-dessous -

Maven pom.xml

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoint</groupId>
   <artifactId>eurekaserver</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>eurekaserver</name>
   <description>Demo project for Spring Boot</description>

   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
      <spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
   </properties>

   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-eureka-server</artifactId>
      </dependency>

      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
   
</project>

Gradle – build.gradle

buildscript {
   ext {
      springBootVersion = '1.5.9.RELEASE'
   }
   repositories {
      mavenCentral()
   }
   dependencies {
      classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
   }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
   mavenCentral()
}
ext {
   springCloudVersion = 'Edgware.RELEASE'
}
dependencies {
   compile('org.springframework.cloud:spring-cloud-starter-eureka-server')
   testCompile('org.springframework.boot:spring-boot-starter-test')
}
dependencyManagement {
   imports {
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
   }
}

Par défaut, le serveur Eureka s'enregistre dans la découverte. Vous devez ajouter la configuration ci-dessous dans votre fichier application.properties ou application.yml.

Le fichier application.properties est donné ci-dessous -

eureka.client.registerWithEureka = false
eureka.client.fetchRegistry = false
server.port = 8761

Le fichier application.yml est donné ci-dessous -

eureka:
   client:
      registerWithEureka: false
      fetchRegistry: false
server:
   port: 8761

Maintenant, vous pouvez créer un fichier JAR exécutable et exécuter l'application Spring Boot en utilisant les commandes Maven ou Gradle ci-dessous -

Pour Maven, utilisez la commande comme indiqué ci-dessous -

mvn clean install

Après «BUILD SUCCESS», vous pouvez trouver le fichier JAR sous le répertoire cible.

Pour Gradle, vous pouvez utiliser la commande ci-dessous -

gradle clean build

Après «BUILD SUCCESSFUL», vous pouvez trouver le fichier JAR dans le répertoire build / libs.

Maintenant, exécutez le fichier JAR en utilisant la commande suivante -

java –jar <JARFILE>

Vous pouvez constater que l'application a démarré sur le port Tomcat 8761 comme indiqué ci-dessous -

Maintenant, appuyez sur l'URL http://localhost:8761/ dans votre navigateur Web et vous pouvez trouver le serveur Eureka fonctionnant sur le port 8761 comme indiqué ci-dessous -