我已经创建了eureka服务注册表和注册服务。目前只有一个服务实例正在运行。如何添加同一服务的多个实例?我正在开发独立应用程序。我正在通过Rest Template访问服务。我正在关注https://spring.io/guides/gs/service-registration-and-discovery/
答案 0 :(得分:5)
每个实例都需要一个唯一的instanceId
,通常在application.yml
中配置使用:
...
eureka:
instance:
metadataMap:
instanceId: ${spring.application.name}:${server.port}
...
将端口添加到instanceId
允许在同一主机中运行多个实例。
我还看到添加一个随机数而不是实例侦听的端口。
我使用Jersey
,Spring
,Eureka
,Ribbon
和Feign
以及http://tech.asimio.net/2016/11/14/Microservices-Registration-and-Discovery-using-Spring-Cloud-Eureka-Ribbon-and-Feign.html附带的源代码撰写了关于服务注册和发现的博文
最近在博客上发布了有关如何使用Eureka
和Ribbon
http://tech.asimio.net/2017/03/06/Multi-version-Service-Discovery-using-Spring-Cloud-Netflix-Eureka-and-Ribbon.html注册和发现服务的多个版本的信息。
答案 1 :(得分:5)
如果您的目标是在同一主机上运行一个服务的多个实例,则必须:
必须单独配置这两个,例如
server:
port: 0
和
window.location.pathname
答案 2 :(得分:2)
你肯定需要另一个尤里卡实例,这里是关于尤里卡同伴意识的官方春天云documentation。
简而言之,您需要做的就是通过在各自的application.yml中添加彼此的信息来让彼此了解彼此。希望这可以帮助。阅读文档以进行详细了解。
---
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。希望这会有所帮助。