SpringCloud之构建多节点高可用的Eureka Serever集群

在实际的项目中,可能有几十个或者几百个的微服务实例,这时Eureka Server承担了非常高的负载。由于Eureka Server在微服务中有着重要的作用,所有需要对Eureka Server进行高可用集群。

在这里是在原本单节点的Eureka实例上构建的

1.修改本地的hosts文件

Windows系统在C:\Windows\System32\drivers\etc目录下,mac系统的电脑通过终端 vim/etc/hosts进行编辑修改。

添加如下内容

127.0.0.1 server1
127.0.0.1 server2
127.0.0.1 server3

2.修改application.yml文件

spring:
  application:
    name: homepage-eureka
  profiles: server1
server:
  port: 8000
eureka:
  instance:
    hostname: server1
    prefer-ip-address: false
  client:
    service-url:
      defaultZone: http://server2:8001/eureka/,http://server3:8002/eureka/

---
spring:
  application:
    name: homepage-eureka
  profiles: server2
server:
  port: 8001
eureka:
  instance:
    hostname: server2
    prefer-ip-address: false
  client:
    service-url:
      defaultZone: http://server1:8000/eureka/,http://server3:8002/eureka/

---
spring:
  application:
    name: homepage-eureka
  profiles: server3
server:
  port: 8002
eureka:
  instance:
    hostname: server3
    prefer-ip-address: false
  client:
    service-url:
      defaultZone: http://server1:8000/eureka/,http://server2:8001/eureka/

在上述代码中,定义了3个profile,它们的hostname分别为server1,server2,server3,在实际开发中,可能是具体的服务的IP地址。端口号分别为8000,8001,8002。

3.编译打包

通过Maven命令 :mvn clean package -Dmaven.test.skip=true -U (跳过单元测试),编译成功后,在工程的目录下会有一个target文件夹,进入该文件夹,可以发现生成了一个 homepage-eureka-1.0-SNAPSHOT.jar的jar包。

4.启动工程

cd到target文件夹下,然后通过java -jar的方式启动工程,并通过 spring.profile.active指定启动的配置文件。在本案例中需要启动三个Eureka Server实例。可以在idea的terminal终端启动,也可以通过命令窗口启动,开启3个终端窗口。启动实例的命令如下:

java -jar homepage-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server1

启动server2和server3分别修改spring.profiles.active=server2,spring.profiles.active=server3.

5.验证

启动成功后,在浏览器中访问http://localhost:8000/,会发现DS Replicas选项中显示了server2和server3,界面如下图所示。

同样,访问http://localhost:8001/,会发现已经注册了server1和server3。

猜你喜欢

转载自blog.csdn.net/lovebaby1689/article/details/104265936