作者:竹茹士弘宜来 | 来源:互联网 | 2023-10-13 02:20
本文由编程笔记#小编为大家整理,主要介绍了eureka多实例,模拟多台机器相关的知识,希望对你有一定的参考价值。本文只有一个eureka server项目,运行在不同
本文由编程笔记#小编为大家整理,主要介绍了eureka多实例,模拟多台机器相关的知识,希望对你有一定的参考价值。
本文只有一个eureka server项目,运行在不同的端口,模拟两台eureka服务。开发使用eclipse 4.8
先说pom.xml文件,如果出现问题,首先考虑springboot和其他包版本冲突
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.xing
springboot-eureka
1.0.0-SNAPSHOT
jar
org.springframework.boot
spring-boot-starter-parent
1.4.0.RELEASE
UTF-8
UTF-8
1.8
org.springframework.cloud
spring-cloud-dependencies
Camden.SR3
pom
import
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-maven-plugin
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false
first
true
first
second
second
因为是使用eclipse,想要多个实例好像只能采用多个yml或properties配置文件
application.ym如下:
spring:
profiles:
active: first
application-first.yml如下:
spring:
application:
name: xing-eurekaServer #指定服务名
prifiles: first
server:
port: 8090 #服务端口
eureka:
client:
registerWithEureka: true #是否将自己注册到Eureka服务中,本身就是所有无需注册
fetchRegistry: true #是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端进行交互的地址
defaultZone: http://xing-eurekaServer:8091/eureka/
instance:
prefer-ip-address: true #将自己的ip地址注册到Eureka服务中
ip-address: 127.0.0.1
instance-id: xing-eurekaServer:8090 #指定实例id
hostname: 127.0.0.1
server:
enable-self-preservation: false #禁用自我保护模式
eviction-interval-timer-in-ms: 60000 #清理间隔(单位毫秒,默认是60*1000)
application-second.yml如下:
spring:
application:
name: xing-eurekaServer #指定服务名
prifiles: second
server:
port: 8091 #服务端口
eureka:
client:
registerWithEureka: true #是否将自己注册到Eureka服务中,本身就是所有无需注册
fetchRegistry: true #是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端进行交互的地址
defaultZone: http://xing-eurekaServer:8090/eureka/
instance:
prefer-ip-address: true #将自己的ip地址注册到Eureka服务中
ip-address: 127.0.0.1
instance-id: xing-eurekaServer:8091 #指定实例id
hostname: 127.0.0.1
server:
enable-self-preservation: false #禁用自我保护模式
eviction-interval-timer-in-ms: 60000 #清理间隔(单位毫秒,默认是60*1000)
其中后面两个yml文件中的
serviceUrl:
defaultZone: http://xing-eurekaServer:8090/eureka/要使用xing-eurekaServer之类的域名,通过host映射到127.0.0.1,,如果不采用域名的话可能刚启动服务的时候是有两个服务,但是后面刷新着就只剩一个服务了,并且页面上的
这一步配置host文件就不列出来了。 从上面的两个yml中可以看出来,first向second中注册,second向first中注册。这样实现相互注册,当你
其他的服务想往这两台eureka server服务器中注册服务时,只需要向其中一台注册,两台eureka中都会有你注册的服务