Eureka集群搭建

2022-06-07 18:21:09 浏览数 (1)

准备工作 因为我们用一台电脑模拟,所有我们修改电脑的etc文件夹下的host文件 加入:

代码语言:javascript复制
127.0.0.1  eureka8001.cn
127.0.0.1  eureka8002.cn

我们访问这两个地址相当于访问本地的127.0.0.1路径

正式开始 配置集群就是要把多个注册中心互相注册 如: 在8001中注册8002 在8002中注册8001 创建两个eureka注册中心服务一个端口8001 一个端口为8002

8001pom依赖

代码语言:javascript复制
<dependencies>
        <!--新版本eureka-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <dependency>
            <artifactId>cloud-api-commons</artifactId>
            <groupId>com.rpf.springcloud</groupId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

8001 yml配置文件内容

代码语言:javascript复制
server:
  port: 8001
eureka:
  instance:
    hostname: eureka8001.cn
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http:/eureka8002.cn:8002/eureka

8001启动类

代码语言:javascript复制
@SpringBootApplication
@EnableEurekaServer
public class EurekaMain8001 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain8001.class,args);
    }
}

8002pom依赖

代码语言:javascript复制
<dependencies>
        <!--新版本eureka-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <dependency>
            <artifactId>cloud-api-commons</artifactId>
            <groupId>com.rpf.springcloud</groupId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

8002yml配置文件

代码语言:javascript复制
server:
  port: 8002
eureka:
  instance:
    hostname: eureka8002.cn
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http:/eureka8001.cn:8001/eureka

8002启动类

代码语言:javascript复制
@SpringBootApplication
@EnableEurekaServer
public class EurekaMain8002 {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain8002.class,args);
    }
}

这时我们启动两个项目即可 访问eureka8001.cn:8001 或 eureka8002.cn:8002

可以看到互相注册了对方的服务

0 人点赞