Eureka集群配置
Eureka集群配置
最近复习了一下Eureka,集群的配置文件记录一下~
EurekaServer
启动类加入注解
@SpringBootApplication
@EnableEurekaServer
节点1配置文件
application.yml
server:
port: 7001
spring:
profiles:
active: local
application:
name: cloud-eureka-server7001
application-local.yml
eureka:
instance:
# 集群节点的hostname不能一致
hostname: eureka1.xxx.cn
client:
# 表示是否从Eureka Server获取注册的服务信息
fetch-registry: false
# 表示是否将自己注册到Eureka Server
register-with-eureka: false
service-url:
# 注册中心的地址列表
defaultZone: http://eureka2.xxx.cn:7002/eureka
server:
#关闭自我保护机制,保证不可用服务立即被踢出
enable-self-preservation: false
# 每隔多久清理一次没有心跳的服务
eviction-interval-timer-in-ms: 2000
节点2配置文件
application.yml
server:
port: 7002
spring:
profiles:
active: local
application:
name: cloud-eureka-server7002
application-local.yml
eureka:
instance:
# 集群节点的hostname不能一致
hostname: eureka2.xxx.cn
client:
# 表示是否从Eureka Server获取注册的服务信息
fetch-registry: false
# 表示是否将自己注册到Eureka Server
register-with-eureka: false
service-url:
# 注册中心的地址列表
defaultZone: http://eureka1.xxx.cn:7001/eureka
server:
#关闭自我保护机制,保证不可用服务立即被踢出
enable-self-preservation: false
# 每隔多久清理一次没有心跳的服务
eviction-interval-timer-in-ms: 2000
如果节点是三个或以上
配置方式和上面一样,只需要修改defaultZone,配置除本身外其他的EurekaServer即可。
EurekaClient
启动类加入注解
@SpringBootApplication
试了一下,EurekaClient只要引入了EurekaClient的依赖,是可以不加@EnableEurekaClient注解的。。。
原因:https://blog.csdn.net/sunxy24/article/details/105686511
配置文件
application.yml
server:
port: 8001
spring:
profiles:
active: local
application:
name: cloud-payment-service
application-local.yml
eureka:
client:
# 是否将自己注册到注册中心 默认为true
register-with-eureka: true
# 是否从EurekaServer抓取已有注册信息,默认为true。如果是集群部署 必须设置为true,否则ribbon无法负载
fetch-registry: true
service-url:
# 注册中心的地址列表 多个用逗号隔开
defaultZone: http://eureka2.xxx.cn:7002/eureka,http://eureka1.xxx.cn:7001/eureka
instance:
# 实例的ip
ip-address: 127.0.0.1
# 实例编号
instance-id: payment8001
# 调用方是否显示ip
prefer-ip-address: true
# 每隔多少秒心跳(续约)一次
lease-renewal-interval-in-seconds: 1
# 表示Eureka Server等待心跳的间隔,和Eureka服务端配置一致即可
lease-expiration-duration-in-seconds: 2
客户端有多个节点时
和单机配置一致,只需保证
1、spring.application.name一致
2、eureka.instance.instance-id不一致