上篇文章主要简单介绍了什么是微服务,以及eureka的使用,下面介绍下 Eureka
高可用集群相关配置
host文件修改
域名配置,修改host文件,推荐使用 SwitchHosts
工具
# eureka
127.0.0.1 eureka-peer1
192.168.3.18 eureka-peer2
192.168.3.16 eureka-peer3
2.添加集群配置文件
2.1 application-eureka-server1.yml
配置文件
spring:
application:
name: eureka-server
###服务端口号
server:
port: 8100
###eureka 基本信息配置
eureka:
instance:
###注册到eurekaip地址
hostname: eureka-peer1
prefer-ip-address: false
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 20
##元数据
metadata-map:
instanceId: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
appname:
client:
registry-fetch-interval-seconds: 5
service-url:
###分别配置对方的地址作为Eureka Client进行相互注册
defaultZone: http://eureka-peer1:8100/eureka/,http://eureka-peer2:8200/eureka/,http://eureka-peer3:8300/eureka/
register-with-eureka: true ## 默认是true 可以删除
fetch-registry: true ## 默认是true 可以删除
2.2 application-eureka-server2.yml
配置文件
spring:
application:
name: eureka-server
###服务端口号
server:
port: 8200
###eureka 基本信息配置
eureka:
instance:
###注册到eurekaip地址
hostname: eureka-peer2
prefer-ip-address: false
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 20
##元数据
metadata-map:
instanceId: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
client:
registry-fetch-interval-seconds: 5
service-url:
###分别配置对方的地址作为Eureka Client进行相互注册
defaultZone: http://eureka-peer1:8100/eureka/,http://eureka-peer2:8200/eureka/,http://eureka-peer3:8300/eureka/
register-with-eureka: true
fetch-registry: true
2.3 application-eureka-server3.yml
配置文件
spring:
application:
name: eureka-server
###服务端口号
server:
port: 8300
###eureka 基本信息配置
eureka:
instance:
###注册到eurekaip地址
hostname: eureka-peer3
prefer-ip-address: false
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 20
##元数据
metadata-map:
instanceId: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
client:
registry-fetch-interval-seconds: 5
service-url:
###分别配置对方的地址作为Eureka Client进行相互注册
defaultZone: http://eureka-peer1:8100/eureka/,http://eureka-peer2:8200/eureka/,http://eureka-peer3:8300/eureka/
register-with-eureka: true
fetch-registry: true
3.打包分别选择不同的配置文件执行
java -jar euruka-server.jar --spring.profiles.active=eureka-server1
如下执行成功:
此时我们关闭一个节点之后:
4.需要注意事项
1.eureka.client.service-url.defaultZone
service-url
2.0之后需要使用 -
替换之前的驼峰
2.spring.application.name=eureka-server
## eureka-server
这个名称,每个集群的配置文件都必须一样,被坑了两个小时
eureka.instance.name=eureka-server
## 这个名称必须和spring.application.name
一致;
3.eureka.instance.prefer-ip-address=false
## 设置成false 默认是true。这也是坑,需要注意