Eureka 集群

使用了注册中心之后,所有的服务都要通过服务注册中心来进行信息交换。服务注册中心的稳定性就非常重要了,一旦服务注册中心掉线,会影响到整个系统的稳定性。所以,在实际开发中,Eureka 一般都是以集群的形式出现的。Eureka 集群,实际上就是启动多个 Eureka 实例,多个 Eureka 实例之间,互相注册,互相同步数据,共同组成一个 Eureka 集群。搭建 Eureka 集群,首先我们需要一点准备工作,修改电脑的 hosts 文件( C:\Windows\System32\drivers\etc\hosts ):

127.0.0.1 eurekaA eurekaB

在 上小节 demo 的基础上,我们在 resources 目录下,再添加两个配置文件,分别为 applicationa.properties 以及 application-b.properties:

application-a.properites 内如如下:

# 给当前服务取一个名字
spring.application.name=eureka
# 设置端口号
server.port=1111
eureka.instance.hostname=eurekaA
# 默认情况下,Eureka Server 也是一个普通的微服务,所以当它还是一个注册中心的时候,他会有两层
身份:1.注册中心;2.普通服务,即当前服务会自己把自己注册到自己上面来
# register-with-eureka 设置为 false,表示当前项目不要注册到注册中心上
eureka.client.register-with-eureka=true
# 表示是否从 Eureka Server 上获取注册信息
eureka.client.fetch-registry=true
# A 服务要注册到 B 上面
eureka.client.service-url.defaultZone=http://eurekaB:1112/eurekb

application-b.properites 内如如下:

# 给当前服务取一个名字
spring.application.name=eureka
# 设置端口号
server.port=1112
eureka.instance.hostname=eurekaB
# 默认情况下,Eureka Server 也是一个普通的微服务,所以当它还是一个注册中心的时候,他会有两层
身份:1.注册中心;2.普通服务,即当前服务会自己把自己注册到自己上面来
# register-with-eureka 设置为 false,表示当前项目不要注册到注册中心上
eureka.client.register-with-eureka=true
# 表示是否从 Eureka Server 上获取注册信息
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://eurekaA:1111/eureka

配置完成后,对当前项目打包,打成 jar 包:

打包完成后,在命令行启动两个 Eureka 实例。两个启动命令分别如下:

java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=a
java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=b

启动成功后,就可以看到,两个服务之间互相注册,共同给组成一个集群。

posted @ 2020-08-02 19:52  柒丶月  阅读(293)  评论(0编辑  收藏  举报