Spring Cloud Starter Эврика без веб-сервера

#java #spring #webserver #netflix-eureka

#java #весна #веб-сервер #netflix-эврика

Вопрос:

Возможно ли запустить клиент eureka без запуска веб-сервера? Артефакт ‘spring-cloud-starter-eureka’ автоматически подключается к ‘spring-boot-starter-web’. Почему это так? Возможно ли запустить клиент без фактического запуска веб-сервера?

Моя проблема в том, что запуск веб-сервера занимает около ~ 200 МБ оперативной памяти. Это проблема, потому что память, выделенная для приложений, с которыми я хочу использовать eureka, составляет от 256 до 512 МБ.

Комментарии:

1. Если это не веб-приложение, то как вы собираетесь получать вызовы в свою службу? Eureka предназначена для сервисов на основе rest, для регистрации вам, по крайней мере, потребуются материалы, связанные с Интернетом, из spring (вы можете попробовать исключить tomcat). Но что тогда? Вы не можете использовать какие-либо другие функции в качестве поддержки по умолчанию, если для служб на основе Rest…

2. Эти приложения представляют собой небольшие сканеры. Они не принимают вызовы, а только обращаются к другим службам. (Запрашивайте / вызывайте другие службы для обхода следующих сайтов и отправляйте данные с проверенной информацией для сохранения в другие службы.)

3. Затем попробуйте исключить spring-boot-starter-tomcat как зависимость.

4. У меня была такая же идея, но есть ли какие-либо побочные эффекты для этого?

5. Честно говоря, я понятия не имею… Чтобы иметь возможность использовать Eureka, вам необходимо зарегистрироваться, может случиться так, что ваш сервис будет заблокирован, поскольку он не может отвечать на сообщения от Eureka. Но, как уже говорилось, я понятия не имею…

Ответ №1:

Кажется, вам не нужна эта ваша служба для обслуживания веб-запросов, но вам все еще нужны ит для доступа к вашему серверу eureka.

Поэтому отключите web из приложения.

 spring.main.web-environment=false
  

И используйте Discoveryclient для извлечения служб.

Если этого недостаточно, удалите зависимость eureka и выполните вызов rest с помощью (RestTemplate) на ваш сервер eureka для запроса необходимых вам служб. Eureka предоставляет конечную точку rest для этого. Таким образом, он не может использоваться даже приложениями, не основанными на java / jvm.

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

Если это все еще недостаточно хорошо. Тогда вам, возможно, придется написать простой Java-код, который вы должны писать в первую очередь, если у вас нет причин использовать фреймворк, такой как spring (транзакция, JPA, web, безопасность и т. Д.).

Комментарии:

1. Звучит здорово! Спасибо! Я вручу вам награду через 13 часов. 🙂