Рубрики
Без рубрики

Настройка Сервера И Клиента Netflix Eureka С Помощью Spring Boot

Обзор Мы настроим сервер Eureka (реестр служб, используемый для регистрации нескольких служб/микросистем… С пометкой java, учебное пособие, весенняя загрузка.

Обзор

  1. Мы настроим сервер Eureka (реестр служб, используемый для регистрации нескольких служб/микросервисов).
  2. Мы настроим несколько клиентов Eureka (REST-сервисы, которые регистрируются на сервере Eureka).
  3. Мы будем выполнять балансировку нагрузки на стороне клиента и обнаружение сервисов с помощью Eureka.

Вот видеоурок. Пожалуйста, проявите немного любви и подпишитесь на мой канал Подписаться .

Настройка Эврики Семь

Зависимость, необходимая для настройки сервера eureka, – это “spring-cloud-starter-netflix-eureka-client” вместе с spring-boot-starter-parent. вы можете сгенерировать код, перейдя по ссылке https://start.spring.io/ , и укажите идентификатор группы, идентификатор артефакта и укажите необходимые зависимости, как показано ниже, и нажмите кнопку сгенерировать, которая сгенерирует образец кода с зависимостью, добавленной в ваш вы можете сгенерировать код, перейдя по ссылке

Соответствующий pom.xml должно выглядеть следующим образом



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.3.RELEASE
         
    
    com.example
    eurekaserver
    0.0.1-SNAPSHOT
    eurekaserver
    Demo project for Spring Boot

    
        1.8
        Hoxton.SR1
    

    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



Как только у вас есть проект, откройте основной класс Spring boot с аннотацией @SpringBootApplication и добавьте аннотацию @EnableEurekaServer , класс должен выглядеть следующим образом.

package com.example.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);
    }

}

Последним шагом в настройке сервера является добавление файла application.yml , который будет иметь свойства, связанные с eureka, когда вы запускаете приложение с помощью @EnableEurekaServer аннотации, он будет искать файл bootstrap.yml , если он не найден, он будет искать файл application.yml для свойств файл yml должен выглядеть примерно так.

server:
  port: 9090

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://localhost:9090/eureka/

Вышеупомянутый файл свойств yaml определяет эврику зона по умолчанию URL-адрес службы , где предполагается запустить eureka. register-with-eureka свойство имеет значение false, так как мы не хотим регистрировать сервер Eureka для самого себя. Как только все будет готово, структура проекта должна выглядеть так, как показано на рисунке ниже

Продолжайте и запустите приложение spring boot, сервер eureka должен быть подключен к любому порту, который вы указали в application.yml файл в этом случае сервер eureka будет работать по адресу localhost:9090 и будет выглядеть так, как показано ниже.

Ола, мы настроили сервер eureka.

Теперь мы продолжим и создадим два клиента с именами client1 и client2 из инициализатора spring, подобного приведенному выше, с добавлением еще одной зависимости Eureka Discovery Client, как показано ниже

Как только мы создадим оба проекта, мы продолжим и добавим аннотацию @EnableDiscoveryClient в корне Springbootapplication класс, как показано ниже для обоих клиентов Клиент1 и Клиент2

package com.example.client2;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class Client2Application {

    public static void main(String[] args) {
        SpringApplication.run(Client2Application.class, args);
    }

}

Аналогичным образом, нам необходимо обновить приложение.файл yml, как показано ниже, содержащий необходимые сведения о конфигурации eureka.

spring:
  application:
    name: 'client1'
server:
  port: 8081

eureka:
  instance:
    hostname: ${vcap.application.uris[0]:localhost}
    prefer-ip-address: true
    lease-renewal-interval-in-seconds: 10
    lease-expiration-duration-in-seconds: 20
  client:
    service-url:
      defaultZone: http://localhost:9090/eureka

В приведенном выше коде мы указали имя приложения spring и URL-адрес клиентской службы eureka, где находится сервер eureka, поэтому, как только вы запустите клиент, он просмотрит URL-адрес службы и попытается зарегистрироваться. Свойство * интервал продления аренды в секундах: 10 и срок действия аренды в секундах: 20 * позволяет серверу Eureka проверять работоспособность клиента. Как только вы внесете эти изменения, продолжайте и запустите оба клиента.

Если вы вернетесь на сервер Eureka, теперь вы сможете увидеть двух клиентов, зарегистрированных с именами КЛИЕНТ1 и КЛИЕНТ 2 , как показано ниже.

Теперь, когда настройка завершена, два клиента могут общаться друг с другом с помощью обнаружения службы.

Вот видеоурок. Пожалуйста, проявите немного любви и подпишитесь на мой канал Подписаться .

Оригинал: “https://dev.to/nagarajendra/netflix-eureka-server-and-client-setup-with-spring-boot-3j9n”