Eureka集群 (3台server)
Eureka server搭建集群不同与传统集群,每个server是互等的1在向23注册时1就相当于客户端,需要向23注册信息的同时还要获取信息。所以 defaultZone注册时如1需注册23的server地址(不能注册自己的地址)注册完123会在系统趋于平稳进行复制 达到信息共享统一
1.需要再hosts加入如下命令
127.0.0.1 node1
127.0.0.1 node2
127.0.0.1 node3
2.需要修改server的配置文件(基于一)
node1 port:10097;node2 port:10098;node3 port:10099
server:
port: 10099
undertow:
accesslog:
enabled: true
dir: undertow-access-logs
pattern: common
prefix: service_register_center_access_log.
suffix: log
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
shutdown:
enabled: true
eureka:
instance:
hostname: node3
## 表示为Erureka客户端
client:
## 单台server为服务器需要注册到服务器上 (如果存在多台server需注册)
register-with-eureka: true
## 获取注册列表的信息 道理同上 基本两者参数是一样的
fetch-registry: true
service-url: # Eureka服务提供地址
defaultZone: http://node1:10097/eureka/,http://node3:10098/eureka/
defaultZone需要注册另外两台server 其他同理,此时启动12会抛出异常(忽略)
当三台启动完毕 三台server复制完 就会消失
此时启动http://node1:10097
此时Eureka的server集群搭建成功Node2,3就相当于副本
修改Client的yml文件
server:
port: 9090
spring:
application:
name: eureka-client
eureka:
## 表示为Erureka客户端
client:
## 单台server为服务器不需要注册到服务器上
register-with-eureka: true
## 获取注册列表的信息 道理同上 基本两者参数是一样的
fetch-registry: true
service-url: # Eureka服务提供地址
defaultZone: http://node1:10097/eureka/,http://node2:10098/eureka/,http://node3:10099/eureka/
student:
information:
address: shanghai
name: zhangsan
重新访问服务依然可以正常运行
访问server客户端
当关闭一台server -node3
此时服务依然可以访问