1

Мы планировали использовать компоненты весеннего облака Netflix oss. Так что я делал небольшой образец проекта. я разработал 2 пружинных microservices и те услуги, хорошо работает на http://localhost:9000/microsvc-onehttp://localhost:9001/microsvc-twoКак регистрировать весенние ботинки для микроволнов на весеннем облаке Netflix eureka?

А также написал образец пружинного облако etflix эврика Maven проекта, который хорошо работает на http://localhost:8761

я использовал аннотаций @EurekaDiscoveryClient и @SpringBootApplication на оба Пружинные загрузки microservices главный класс

Я использовал аннотацию @EnableEurekaServer и @SpringBootApplication

Теперь я столкнулся с проблемой регистрации этих сервисов на сервере eureka. Я привел несколько примеров. Я не понимаю этих. Я сделал некоторые изменения в файлах application.yml из микропроцессора-1 и microsvc-two, а также файла application.yml сервера eureka. Но все же он показывает пустой.

Что необходимо для изменения или отсутствия или правильной настройки, чтобы мои услуги регистрировались на eureka.

У меня также есть другой вопрос, как мне нужно создать отдельный проект, который имеет @EnableConfigServer и @SpringBootApplication Аннотации, кроме указанных выше 2 микросервисов и модуль проекта eureka server для регистрации услуг на eureka. Я вижу их в большинстве примеров.

Если да, то как мы свяжемся между ними?

+0

Добавить код, а также файлы yml, как кто-то может помочь вам, если вы не продемонстрируете, что вы сделали. Я ответил несколько вещей, чтобы помочь вам. –

ответ

5

Если вы используете приложение SpringBoot, вам понадобится аннотация @SpringBootApplication, поэтому эта аннотация находится в проекте, который вы видите. @EnableConfigServer - это когда вы используете конфигурационный сервер весеннего облака, который используется для экстернализации свойств конфигурации, но поскольку у вас есть application.yml внутри проекта, так что вам тоже этого не нужно.

Я думаю, у вас есть приложение для загрузки пружин как для Microservices, так и для сервера Eureka. Вы должны аннотировать эврика основной класс с

@SpringBootApplication 
@EnableEurekaServer 
@EnableDiscoveryClient 

public class EurekaServerApplication { 

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

Дополнительно вам нужно аннотировать вам главный класс microservice с ..

@SpringBootApplication 
@EnableDiscoveryClient 
public class MicroApplication { 

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

Так как вы выигрыш, вам application.yml файл в вопрос здесь является то, что вы необходимость.

Вам нужна конфигурация ниже в application.yml микросервисов.

eureka: 
    client: 
    serviceUrl: 
     defaultZone: ${eurekaurl:http://localhost:8761/eureka/} 

В файле application.yml сервера Eureka у меня есть это у меня. вам может потребоваться настроить его на основе того, что вы хотите.

info: 
    component: Registry Server 

server: 
    port: ${port:8761} 


eureka: 
    client: 
    registerWithEureka: false 
    fetchRegistry: false 
    server: 
    enable-self-preservation: false 
    waitTimeInMsWhenSyncEmpty: 0 
    instance: 
    hostname: localhost 
    lease-expiration-duration-in-seconds: 15 
    lease-renewal-interval-in-seconds: 5 
+0

Спасибо. Теперь ясно. Позволит вам узнать после пропущенных изменений. – LazyGuy

+0

Над кодом работает вместо добавления @ EnableDiscoveryClient, когда я добавил @ EnableEurekaClient-аннотацию на микросервис – LazyGuy

+0

круто ... если вы хотите быть эврика конкретным, то это тоже должно работать. –

1

Предположим, у вас есть microservice под названием «LoginServer» Теперь, давайте посмотрим, как зарегистрировать эту услугу с открытием сервера (Eureka сервера) при запуске.

Здесь начальный класс загрузки Spring Boot LoginServer.java:

@EnableAutoConfiguration 
@EnableDiscoveryClient 
public class LoginServer { 
public static void main(String[] args) { 

    // Will configure using login-server.yml 

    System.setProperty("spring.config.name", "login-server"); 
    SpringApplication.run(LoginServer.class, args); 

    } 
} 

@EnableDiscoveryClient - позволяет регистрировать и обнаруживать услуги. В этом случае этот процесс регистрируется с помощью службы обнаружения-сервера, используя свое имя приложения, которое настроено в файле конфигурации YML.

давайте посмотрим полную установку:

Сначала создайте логин-server.yml (любое имя, но расширение должно быть .yml) файл в SRC/основную папку пакета/ресурсов. И напишите эти конфигурации и сохраните.

# Spring properties 
spring: 
application: 
    name: login-server # This name used as ID so ("spring.config.name", 
         #"login-server"); must be same. 

# Discovery Server Access 
eureka: 
client: 
    serviceUrl: 
    defaultZone: http://localhost:1111/eureka/ 

# HTTP Server 
server: 
port: 2222 # HTTP (Tomcat) port 

Запустите LoginServer и дайте ему закончить инициализацию. Откройте панель инструментов, разместив этот URL-адрес http://localhost:1111 в своем любимом браузере и обновите его. Через несколько секунд вы должны увидеть LOGIN-SERVER. Обычно регистрация занимает до 30 секунд (по умолчанию), поэтому подождите или перезапустите.

И это полный процесс регистрации микросервиса.