SpringCloud系列(三)Eureka搭建集群实现高可用(三种方式)

eureka也是一个服务,如果eureka所在的服务器宕机了,那么整个服务就崩溃了,完全不能使用。

所以我们需要实现 Eureka的高可用,搭建Eureka集群。

本项目基于 SpringCloud系列(二)Eureka详解 中的代码,使用 IDEA 开发工具

这里只介绍一下搭建方式,使用本地映射进行模拟,就不专门搞3个服务器了,下面介绍3种实现方式

搭建方式

0、修改本地映射文件

windows环境下:打开C:\Windows\System32\drivers\etc 文件夹

修改 hosts 文件(可能会有权限问题,请自行解决),添加如下内容

127.0.0.1       eureka-8888
127.0.0.1       eureka-8887
127.0.0.1       eureka-8889

1、jar包的方式

1)注释掉 eureka服务中 application.properties 文件所有内容,创建 application.yml 文件,添加如下内容

spring:
  application:
    name: eureka-server

---
spring:
  profiles: eureka-8888

server:
  port: 8888
eureka:
  instance:
    hostname: eureka-8888
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://eureka-8887:8887/eureka,http://eureka-8889:8889/eureka


---
spring:
  profiles: eureka-8889

server:
  port: 8889
eureka:
  instance:
    hostname: eureka-8889
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://eureka-8888:8888/eureka,http://eureka-8887:8887/eureka

---
spring:
  profiles: eureka-8887

server:
  port: 8887
eureka:
  instance:
    hostname: eureka-8887
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://eureka-8888:8888/eureka,http://eureka-8889:8889/eureka

2)使用 maven 插件,将该项目打成 jar 包

在这里插入图片描述

3)打包成功,出现以下内容,记住 jar包的路径

在这里插入图片描述

4)打开命令控制台,进入 jar 包的存放路径

在这里插入图片描述

5)启动项目

输入:

cd H:\workspace\springcloud\springcloud01-eurekaserver-8888\target

java -jar springcloud01-eurekaserver-8888-1.0-SNAPSHOT.jar --spring.profiles.active=eureka-8887

在这里插入图片描述

等待服务启动

在这里插入图片描述

可以看到服务已经启动成功

6)启动剩下的2个项目

新建两个窗口

在这里插入图片描述

按照之前的方式,逐个启动即可

java -jar springcloud01-eurekaserver-8888-1.0-SNAPSHOT.jar --spring.profiles.active=eureka-8888

在这里插入图片描述

java -jar springcloud01-eurekaserver-8888-1.0-SNAPSHOT.jar --spring.profiles.active=eureka-8889

在这里插入图片描述

7)查看集群是否正常

http://eureka-8887:8887/
http://eureka-8888:8888/
http://eureka-8889:8889/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、多次启动的方式

1)注释yml文件,使用properties文件

server.port=8888
spring.application.name=eureka-server

eureka.instance.hostname=eureka-8888
eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://eureka-8889:8889/eureka/,http://eureka-8887:8887/eureka/

2)直接启动 eureka 项目

在这里插入图片描述

3)修改端口和主机名

server.port=8887
spring.application.name=eureka-server

eureka.instance.hostname=eureka-8887
eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://eureka-8889:8889/eureka/,http://eureka-8888:8888/eureka/

4)准备再次启动

打开编辑器

在这里插入图片描述

新建SpringBoot启动类

在这里插入图片描述

配置 eureka 的启动

在这里插入图片描述

启动项目

在这里插入图片描述
5)按照此方法,启动第三个服务

server.port=8889
spring.application.name=eureka-server

eureka.instance.hostname=eureka-8889
eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://eureka-8887:8887/eureka/,http://eureka-8888:8888/eureka/

在这里插入图片描述

6)测试

再次访问对应页面

http://eureka-8887:8887/
http://eureka-8888:8888/
http://eureka-8889:8889/

能看到和jar包方式测试一样的结果,这里不再展示了

3、新增2个项目的方式

1)直接复制 eureka-8888,粘贴2个项目出来,修改名字,如下图所示

在这里插入图片描述

2)加载刚刚复制的项目

在这里插入图片描述

在这里插入图片描述

依次添加两个项目,点击ok ,一路next即可,最后apply

3)分别修改 properties 文件

按照上文代码,修改端口和主机名即可

在这里插入图片描述

4)启动项目

直接进入 main 方法,逐个启动即可

在这里插入图片描述

5)测试

访问对应页面

http://eureka-8887:8887/
http://eureka-8888:8888/
http://eureka-8889:8889/

能看到和jar包方式测试一样的结果,这里不再展示了

小结

3种搭建方式就介绍完了,使用哪一种都可以

3种方式比较起来:

  1. 第一种方式,操作起来相对来说比较麻烦,如果修改eureka项目,需要重新打包;
  2. 第二种方式最简单,但是如果修改eureka项目,需要重新启动的时候,需要边修改配置边启动项目;
  3. 第三种方式,看起来更加清晰,易于维护,就是比较占内存
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值