Eureka搭建集群环境
Eureka集群环境搭建
上次使用Eurek搭建了一个端口为7001的微服务进程。现在练习使用7002和7003端口搭建一个Eureka的微服务集群环境来完成集群环境的搭建。
现在建立了三个微服务的注册中心。7001 7002 7003三个服务中心,但三个服务中心之间没有任何的关联。因为我们需要搭建集群的测试环境所以需要让这三个集群之间互相的关联 。
7001的微服务需要和7002 和 7003的微服务之间建立关联。7002需要和7001和7003之间建立关联。7003也以此类推。搭建集群环境的好处是当一个服务中心损坏之后其他的服务中心依然可以起作用。
其中只有端口号不同和类名称相同其他的信息都相同。
package com.kuang.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer// @EnableEurekaServer 服务端的启动类,可以接受别人注册进来~
public class EuServer7002 {
public static void main(String[] args) {
SpringApplication.run(EuServer7002.class,args);
}
}
server:
port: 7002
# Eureka配置
eureka:
instance:
# Eureka服务端的实例名字
hostname: 127.0.0.1
client:
# 表示是否向 Eureka 注册中心注册自己(这个模块本身是服务器,所以不需要)
register-with-eureka: false
# fetch-registry如果为false,则表示自己为注册中心,客户端的化为 ture
fetch-registry: false
# Eureka监控页面~
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
healthcheck:
enabled: true
在只有单个注册中心时,配置文件中路径的配置为defaultZone: http:// e u r e k a . i n s t a n c e . h o s t n a m e : {eureka.instance.hostname}: eureka.instance.hostname:{server.port}/eureka/
此时的路径配置的环境为单机的配置环境,因为我们需要配置集群的配置环境需要关联其他的路径
此时7001的配置文件
defaultZone: http://localhost:7002/eureka/,http://localhost:7003/eureka/
7002的配置文件
defaultZone: http://localhost:7001/eureka/,http://localhost:7003/eureka/
7003的配置文件
defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/
服务环境的发布和注册
因为之前的发布的环境的8001的微服务进程只在7001的微服务中进行了注册,此时我们将服务全部注册到集群的环境中去。需要修改配置文件中的发布的路径。修改完成启动时需要注意系统的内存环境可以让全部的环境都启动起来
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/,http://localhost:7003/eureka/
healthcheck:
enabled: true
开启四个微服务测试成功。