Pendaftaran Layanan dengan Eureka
Di bab ini, Anda akan mempelajari secara detail tentang Cara mendaftarkan aplikasi layanan Spring Boot Micro ke Server Eureka. Sebelum mendaftarkan aplikasi, pastikan Server Eureka berjalan pada port 8761 atau bangun Server Eureka terlebih dahulu dan jalankan. Untuk informasi lebih lanjut tentang membangun server Eureka, Anda dapat merujuk ke bab sebelumnya.
Pertama, Anda perlu menambahkan dependensi berikut di file konfigurasi build kami untuk mendaftarkan layanan mikro dengan server Eureka.
Pengguna Maven dapat menambahkan dependensi berikut ke dalam file pom.xml file -
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
Pengguna Gradle dapat menambahkan dependensi berikut ke dalam build.gradle file -
compile('org.springframework.cloud:spring-cloud-starter-eureka')
Sekarang, kita perlu menambahkan anotasi @EnableEurekaClient di file kelas aplikasi Spring Boot utama. Anotasi @EnableEurekaClient membuat aplikasi Spring Boot Anda berfungsi sebagai klien Eureka.
Aplikasi Spring Boot utama seperti yang diberikan di bawah ini -
package com.tutorialspoint.eurekaclient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
public class EurekaclientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaclientApplication.class, args);
}
}
Untuk mendaftarkan aplikasi Spring Boot ke Eureka Server kita perlu menambahkan konfigurasi berikut di file application.properties atau file application.yml dan menentukan URL Server Eureka di konfigurasi kita.
Kode untuk file application.yml diberikan di bawah ini -
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka
instance:
preferIpAddress: true
spring:
application:
name: eurekaclient
Kode untuk file application.properties diberikan di bawah ini -
eureka.client.serviceUrl.defaultZone = http://localhost:8761/eureka
eureka.client.instance.preferIpAddress = true
spring.application.name = eurekaclient
Sekarang, tambahkan Rest Endpoint untuk mengembalikan String di aplikasi Spring Boot utama dan ketergantungan web Spring Boot Starter di file konfigurasi build. Perhatikan kode yang diberikan di bawah ini -
package com.tutorialspoint.eurekaclient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableEurekaClient
@RestController
public class EurekaclientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaclientApplication.class, args);
}
@RequestMapping(value = "/")
public String home() {
return "Eureka Client application";
}
}
Seluruh file konfigurasi diberikan di bawah ini.
For Maven user - 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>eurekaclient</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eurekaclient</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</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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>
</projecta>
For Gradle user – 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')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile('org.springframework.boot:spring-boot-starter-web')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
Anda dapat membuat file JAR yang dapat dieksekusi, dan menjalankan aplikasi Spring Boot dengan menggunakan perintah Maven atau Gradle berikut -
Untuk Maven, Anda dapat menggunakan perintah berikut -
mvn clean install
Setelah “BUILD SUCCESS”, Anda dapat menemukan file JAR di bawah direktori target.
Untuk Gradle, Anda dapat menggunakan perintah berikut -
gradle clean build
Setelah "BUILD SUCCESSFUL", Anda dapat menemukan file JAR di bawah direktori build / libs.
Sekarang, jalankan file JAR dengan menggunakan perintah seperti yang ditunjukkan -
java –jar <JARFILE>
Sekarang, aplikasi telah dimulai di port Tomcat 8080 dan aplikasi Klien Eureka terdaftar di Server Eureka seperti yang ditunjukkan di bawah ini -
Tekan URL http: // localhost: 8761 / di browser web Anda dan Anda dapat melihat aplikasi Klien Eureka terdaftar di Server Eureka.
Sekarang tekan URL http://localhost:8080/ di browser web Anda dan lihat keluaran Rest Endpoint.