2016-09-29 3 views
0

웹 서버를 실행하지 않고 eureka 클라이언트를 실행할 수 있습니까? 'spring-cloud-starter-eureka' 인공물은 의 'spring-boot-starter-web'에서 자동으로 가져옵니다. 왜 그런가요? 실제로 웹 서버를 시작하지 않고 클라이언트를 실행할 수 있습니까?웹 서버가없는 Spring Cloud Starter Eureka

내 문제는 웹 서버를 시작하면 약 200MB의 RAM을 먹는다는 것입니다. 유레카를 사용하려는 앱에 할당 된 메모리가 256-512mb에 이르기 때문에 이것은 문제입니다.

+0

웹 앱이 아닌 경우 서비스 요청 전화는 어떻게 받습니까? 유레카 (Eureka)는 휴식 기반 서비스를 위해 봄에 웹 관련 물건을 적어도 등록해야합니다 (바람둥이 제외). 하지만 그 다음엔? 나머지 기반 서비스의 경우 기본 지원으로 다른 기능을 사용할 수 없습니다. –

+0

이러한 앱은 작은 크롤러입니다. 그들은 전화를받지 않으며 다른 서비스 만 제공합니다. (다음 사이트가 다른 서비스를 질의/호출하여 다른 서비스에 저장하기 위해 크롤링 된 정보로 크롤링하고 데이터를 전송하십시오.) –

+0

그런 다음'spring-boot-starter-tomcat'을 종속성으로 제외하십시오. –

답변

2

웹 요청을 처리하는 데 귀하의 서비스가 필요하지 않지만 여전히 귀하의 유레카 서버에 액세스해야합니다.

그래서 응용 프로그램에서 웹을 비활성화하십시오.

spring.main.web-environment=false 

그리고 Discoveryclient를 사용하여 서비스를 가져옵니다.

유레카 의존성을 제거하고 유레카 서버에 (RestTemplate)을 사용하여 나머지 호출을 만들어 필요한 서비스를 쿼리하십시오. 유레카는 이것을위한 휴식 종점을 제시합니다. 따라서 비 java/jvm 기반 응용 프로그램에서도 사용할 수 없습니다.

얼마 전에 이것을 작성한 프로젝트 this을 살펴볼 수 있습니다.

여전히 충분하지 않은 경우. 그렇다면 Spring (Transaction, JPA, web, security etc)과 같은 프레임 워크를 사용해야하는 이유가 없다면 먼저 작성해야하는 일반 Java 코드를 작성해야 할 수도 있습니다.

+0

좋은 소리! 감사! 현상금 13 시간 안에 보너스를 드리겠습니다. :) –

관련 문제