一台计算机,我们使用主机名来定义注册中心的地址,而不是ip
我们在同一台机器上创建3个节点的eureka集群,分别是eureka8004,eureka8002和eureka8003
修改hosts文件,使eureka8004,eureka8002和eureka8003都指向127.0.0.1, 具体路径是
C:\Windows\System32\drivers\etc\HOSTS 添加如下内容
127.0.0.1 eureka8004.com 127.0.0.1 eureka8002.com 127.0.0.1 eureka8003.com 一,创建三个子模块 eureka8004,eureka8003,eureka8002
分别添加三个配置文件application.yml
server: port: 8002 eureka: client: register-with-eureka: false #表识不向注册中心注册自己 fetch-registry: false #表示自己就是注册中心,职责是维护服务实例,并不需要去检索服务 service-url: defaultZone: http://eureka8003.com:8003/eureka/ ,http://eureka8004.com:8004/eureka/ #服务端地址 spring: application: name: eureka8002 #项目名此配置文件类似
新建启动类,和8001相同
启动三个模块即可
二,也可以新建一个项目
类似于boot多环境配置文件。
spring: application: name: eureka-server profiles: eureka8002 server: port: 8002 eureka: instance: hostname: discovery1 lease-renewal-interval-in-seconds: 30 lease-expiration-duration-in-seconds: 30 prefer-ip-address: true client: serviceUrl: default-zone: http://discovery2:8762/eureka/, http://discovery3:8763/eureka/ fetch-registry: true register-with-eureka: true
集群版环境,
defaultZone: http://eureka8004:8004/eureka,http://eureka8002:8002/eureka,http://eureka8003:8003/eureka #集群版客户端注册时,地址之间不要加空格,加空格会报错
Illegal character in path at index 29: http://eureka8004:8004/eureka /
根据不同的环境启动实例
实例1:-Dspring.profiles.active=eureka8001 实例2:-Dspring.profiles.active=eureka8002 实例3:-Dspring.profiles.active=eureka8003