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
原因:格式没有对齐,或者不准确,会出现一个注册中心启动成功后,其它的服务中心不能成功启动,启动就报错
5.3 服务提供者集群
1.复制项目
2.修改yml配置文件
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个地址,只需要改这个
name 值不能改,一旦修改就不是集群了
3.错误
注意一定要开启2个注册中心,因为yml中配置了2个注册中心地址,不然会报错