springCloud 集群
5.1注册中心集群
1.复制注册中心项目
2.修改yml配置文件
注册中心1中引入注册中心2的url地址
2.1 server1的application.yml配置
server: port: 7000 #注册中心的配置 eureka: instance: hostname: peer1 client: #是否要注册到eureka,因为这里是先配置的服务器端,所以不注册 registerWithEureka: false #是否从eureka注册中心获取地址 fetchRegistry: false serviceUrl: #单机配置 defaultZone: http://peer2:7001/eureka/
2.2 server2的application.yml配置
server: port: 7001 #注册中心的配置 eureka: instance: hostname: peer2 client: #是否要注册到eureka,因为这里是先配置的服务器端,所以不注册 registerWithEureka: false #是否从eureka注册中心获取地址 fetchRegistry: false serviceUrl: #单机配置 defaultZone: http://peer1:7000/eureka/
3.修改本地服务器的配置
C:\Windows\System32\drivers\etc 中修改host文件,添加地址
4.修改注册中心的服务提供者和消费者的yml文件
将指向注册中心的地址修改为(指向2个注册中心):
defaultZone: http://peer2:7001/eureka,http://peer1:7000/eureka
错误:Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to localhost:8761 timed out
原因:格式没有对齐,或者不准确,会出现一个注册中心启动成功后,其它的服务中心不能成功启动,启动就报错
server: port: 8001 spring: application: name: DEPT-PROVIDER #不要使用下划线 eureka: client: service-url: defaultZone: http://peer2:7001/eureka,http://peer1:7000/eureka #告诉服务提供者要把服务注册到哪儿 instance: prefer-ip-address: true #使用ip地址作为显示 instance-id: dept-provider1 #页面status部门显示的内容,没有任何影响
注意:instance-id 一定要修改,这样注册中心才会显示2个地址,只需要改这个