Eureka Server в приложении Java без Spring

У меня есть java-приложение (без Spring или Spring Boot), где сервер запускается, вызывая этот метод:

 public void startServer() {
        com.sun.net.httpserver.HttpServer server = JdkHttpServerFactory.createHttpServer(address, resourceConfig, false);
        logger.info("HTTP: Start Http-Server. Adress: %s", address);
        server.start();
    }

Я хочу, чтобы это приложение действовало как Eureka Server. Eureka Clients будут сервисами Spring, поэтому я могу их настроить.

Я видел много руководств по настройке Eureka Server с приложением Spring, но я не знаю, как реализовать его с приложением, отличным от Spring?

Должен ли я вручную добавлять следующие конечные точки на сервер Eureka? https://github.com/Netflix/eureka/wiki/Eureka-REST-operations


person janusz j    schedule 21.01.2021    source источник


Ответы (1)


Сервер Eureka реализован как конечные точки Джерси REST в веб-приложении. Его можно развернуть как WAR на любом контейнере сервлетов: Tomcat, JBoss, Jetty и т. д.

Вы можете создать WAR из кода по адресу https://github.com/Netflix/eureka/eureka-server.

Но используемый вами HTTP-сервер Java не поддерживает API сервлета, поэтому вы не можете просто добавить к нему WAR.

  • Вариант 1: запустить его как отдельный процесс на автономном Tomcat/Jetty/...
  • Вариант 2: добавьте Embedded Tomcat или Jetty в свой основной класс (как это делает Spring Boot).
  • Вариант 3: попробуйте выяснить, как сопоставить конечные точки REST Джерси на вашем HTTP-сервере?
person GreyFairer    schedule 28.01.2021