【spring-cloud】eureka高可用配置过程

问题来源


单节点eureka服务并不适合线上生产环境使用,Eureka client会定时连接eureka服务器,获取服务注册列表中的信息并缓存到本地。微服务在消费远程API时总是使用本地缓存中的数据。Eureka服务器发生宕机,也不会影像到服务之间的调用。但如果Eureka宕机时,某些服务也出现了不可用的情况,Eureka客户端中的额缓存如果没有及时更新,就可能会影响到微服务的调用,甚至影响到整个应用系统的高可用性。因此,在生产环境中,通常会部署一个高可用的Eureka服务器集群。
Eureka服务器可以用过运行多个实例并相互注册的方式实现高可用部署,Eureka服务实例会彼此增量地同步信息,从而确保所有节点数据一致。事实上,节点之间相互注册是Eureka服务器的默认行为。

配置流程

1.添加以下内容到服务器hosts文件

1
127.0.0.1 peer1 peer2 peer3

2.复制application.yml三份并如图修改名称

paste image

3.设置每个节点的内容

application-peer1.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# eureka官方默认端口即为8761
server:
port: 8761

eureka:
# 设置服务名
instance:
hostname: peer1

client:
# 表示是否将自己注册到eureka上,默认为true,对于eureka服务器来说,不需要注册
register-with-eureka: false
# 表示是否从eureka服务器上获取注册信息,默认为true,单点eureka服务不需要不需要,集群需要。
fetch-registry: false
# 设置与eureka交互地址,其他服务查询服务和注册服务都需要用到这个地址
service-url:
defaultZone: http://peer2:8762/eureka,http://peer3:8763/eureka
# 关闭自我保护
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 4000

application-peer2.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# eureka官方默认端口即为8761
server:
port: 8762

eureka:
# 设置服务名
instance:
hostname: peer2

client:
# 表示是否将自己注册到eureka上,默认为true,对于eureka服务器来说,不需要注册
register-with-eureka: false
# 表示是否从eureka服务器上获取注册信息,默认为true,单点eureka服务不需要不需要,集群需要。
fetch-registry: false
# 设置与eureka交互地址,其他服务查询服务和注册服务都需要用到这个地址
service-url:
defaultZone: http://peer1:8761/eureka,http://peer3:8763/eureka
# 关闭自我保护
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 4000

application-peer3.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# eureka官方默认端口即为8761
server:
port: 8763

eureka:
# 设置服务名
instance:
hostname: peer3

client:
# 表示是否将自己注册到eureka上,默认为true,对于eureka服务器来说,不需要注册
register-with-eureka: false
# 表示是否从eureka服务器上获取注册信息,默认为true,单点eureka服务不需要不需要,集群需要。
fetch-registry: false
# 设置与eureka交互地址,其他服务查询服务和注册服务都需要用到这个地址
service-url:
defaultZone: http://peer2:8762/eureka,http://peer1:8761/eureka
# 关闭自我保护
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 4000

4.在idea中完成启动配置

paste image

【注意:peer2与peer3文件修改雷同】
配置完成后启动三个服务。

5.访问Eureka服务验证

paste image
从而成功完成eureka服务器的高可用


后面的文章会向大家介绍客户端的高可用,包括zuul网关和其他业务服务的配置。

-------------本文结束感谢您的阅读😜-------------

本文标题:【spring-cloud】eureka高可用配置过程

文章作者:漫长岁月

发布时间:2018年10月23日 - 10:10

最后更新:2022年03月29日 - 11:03

原始链接:http://javahdw.top/2018/10/【spring-cloud】eureka高可用配置过程/

许可协议: 平头哥原创博文 - 有问题请到留言区留言 - 转载请保留原文链接及作者,万分感谢🙏

0%