目的:记录学习Eureka注册发现的过程
首先在hosts文件下配置:127.0.0.1 peer1 peer2
application.yml高可用配置(Eureka配置文件)
通过配置其他可用的serviceUrl来实现相互注册
spring:
application:
name: microservice-discovery-eureka
---
spring:
#指定profile=peer1
profiles: peer1
server:
port: 8762 # 指定该Eureka实例的端口
eureka:
instance:
#指定当profile=peer1时,主机名是peer1
hostname: peer1
client:
registerWithEureka: true
fetchRegistry: false
serviceUrl:
defaultZone: http://127.0.0.1:8763/eureka/
---
spring:
profiles: peer2
server:
port: 8763
eureka:
instance:
hostname: peer2
client:
registerWithEureka: true
fetchRegistry: false
serviceUrl:
defaultZone: http://127.0.0.1:8762/eureka/
运行(eclipse)run as - Run Configurations
在Arguments下进行配置 --spring.profiles.active=peer1
先后启动peer1,peer2
此时:由于设置了registerWithEureka: true #开启向Eureka注册服务
先启动的peer1上记录有peer2的注册信息,后者peer2也有自己的信息,不会有peer1的信息
再启动一个微服务,application.yml配置文件如下
server: port: 8010 eureka: client: serviceUrl: defaultZone: http://peer1:8762/eureka/ instance: prefer-ip-address: true spring: application: name: microservice-simple-consumer-movie只设置其中一个的地址,当该服务启动之后,peer1和peer2上都有该微服务注册信息,并且有两个Eureka实例的注册信息。可以理解为:当新的微服务注册到注册中心上时,Eureka则开始同步注册信息。