나는 그것에 유레카 서비스 레지스트리와 등록 된 서비스를 만들었습니다. 현재 하나의 서비스 인스턴스 만 실행 중입니다. 동일한 서비스의 인스턴스를 여러 개 추가하는 방법은 무엇입니까? 독립형 응용 프로그램을 개발 중입니다. 그리고 Rest Template을 통해 서비스에 액세스하고 있습니다. 나는 다음과 같이 말합니다. https://spring.io/guides/gs/service-registration-and-discovery/유레카 서비스 레지스트리에 등록 된 여러 유레카 서비스 인스턴스를 만드는 방법은 무엇입니까?
답변
일단 유레카 피어 인식에 관한 공식 봄 구름 documentation이 있으면 확실히 다른 유레카 인스턴스가 필요합니다.
간단히 말해서 각각의 application.yml에서 서로에 대한 정보를 추가하여 서로를 인식하게해야합니다. 희망이 도움이됩니다. 자세한 내용은 doc을 읽으십시오. 다른 링크의
---
spring:
profiles: peer1
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2/eureka/
---
spring:
profiles: peer2
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1/eureka/
커플 유레카 github Issue, Understanding Spring Cloud Eureka Server self preservation and renew threshold에 대해 배울 수 있습니다. 희망이 도움이됩니다.
각 인스턴스는 일반적으로 사용 application.yml
구성, 독특한 instanceId
이 필요합니다 :
...
eureka:
instance:
metadataMap:
instanceId: ${spring.application.name}:${server.port}
...
는 동일한 호스트에 여러 인스턴스를 실행할 수 있습니다 instanceId
에 포트를 추가.
인스턴스가 수신하는 포트 대신 임의의 번호를 추가하는 것도 보았습니다.
그리고에 첨부 된 소스 코드와 함께 Jersey
, Spring
, Eureka
, Ribbon
및 Feign
를 사용하여 서비스 등록 및 발견에 대해 블로그에 등록하고 서비스의 여러 버전을 발견하는 방법은 Eureka
및 Ribbon
사용에 대한 블로그 http://tech.asimio.net/2017/03/06/Multi-version-Service-Discovery-using-Spring-Cloud-Netflix-Eureka-and-Ribbon.html에 있습니다. 당신이 동일한 호스트에 하나 개의 서비스의 여러 인스턴스를 실행하는 것을 목표로하는 경우
쿨, 좋은 기사, 그래서 demo- "의 두 인스턴스를 같은 서비스에 대한 하나 개 이상의 인스턴스가 상상 유레카 클라이언트 응용 프로그램의 다른 인스턴스를 실행 api-1 ") 주석을 사용하면,이 두 인스턴스 서비스는 소비 될 것인가? –
@LipingHuang 맞다. – ootero
고마워, 그럼. 이 사이에 균형이 맞습니까? 그렇지 않으면 중복 된 호출입니다. –
, 당신은해야 임의의 숫자
- 구성 유레카 인스턴스 ID가 임의의 포트 번호를 사용
이 두 항목은 개별적으로 구성해야합니다 (예 :
eureka:
instance:
instance-id: ${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${random.value}}
및
server:
port: 0
단순히 체하다 사용하는 경우 – Kane