Eureka实战

1.创建父工程SpringCloudTest

SpringCloudTest为父工程,用于引入通用依赖,如spring-boot-starter-web、lombok,这样子工程就可以直接继承,无需重复引入。在dependencyManagement标签中引入和springboot版本对应的springcloud(访问官网查询),本文用的springboot3.5.3,对应springcloud2025.0.0。

SpringCloudTest的pom.xml文件的关键内容如下:

XML 复制代码
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.5.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>    
    <modules>
        <module>spring-cloud-eureka-server</module>
        <module>spring-cloud-eureka-client</module>
    </modules>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2025.0.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.创建子工程spring-cloud-eureka-server

主要分四步:在parent标签中引入父工程的依赖;引入spring-cloud-starter-netflix-eureka-server依赖;启动类上添加@EnableEurekaServer自动化配置注解;在application.yaml文件中配置eureka注册中心的信息。

application.yaml文件内容:

XML 复制代码
eureka:
  instance:
    instance-id: ${spring.application.name}:${server.port}
    prefer-ip-address: true
  client:
    # 注册中心自己不用注册
    register-with-eureka: false
    fetch-registry: false
    # 注册中心地址,必须以eureka为后缀,否则服务注册不上
    service-url:
      defaultZone: http://127.0.0.1:8080/eureka/
spring:
  application:
    name: eureka_server
server:
  port: 8080

3.创建子工程spring-cloud-eureka-cilent

主要分三步:在parent标签中引入父工程的依赖;引入spring-cloud-starter-netflix-eureka-client依赖;在application.yaml中配置服务注册地址。

application.yaml文件内容如下:

XML 复制代码
server:
  port: 9000
spring:
  application:
    name: spring-cloud-eureka-client
eureka:
  instance:
    instance-id: ${spring.application.name}:${server.port}
  client:
    service-url:
      defaultZone: http://127.0.0.1:8080/eureka

4.分别启动spring-cloud-eureka-server和spring-cloud-eureka-cilent

5.访问localhost:8080,结果如下图所示。

6.踩的坑:

1)defaultZone的后缀不是eureka,导致服务找不到注册中心,注册失败。

VICTORY!!!

相关推荐
木子欢儿6 小时前
Docker Hub 镜像发布指南
java·spring cloud·docker·容器·eureka
Crazy________2 天前
docker4.8
java·开发语言·eureka
啦啦啦小石头2 天前
Docker+Nvidia Container Toolkit 在ubuntu下离线安装
ubuntu·docker·eureka
斯普信云原生组2 天前
Docker 开源软件应急处理方案及操作手册——镜像管理与构建故障
docker·容器·eureka
斯普信云原生组3 天前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka
斯普信云原生组3 天前
Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈
docker·容器·eureka
迷路爸爸1803 天前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
斯普信云原生组3 天前
Docker 开源软件应急处理方案及操作手册——存储卷与数据持久化问题
docker·容器·eureka
斯普信云原生组3 天前
Docker 开源软件应急处理方案及操作手册——Docker Compose 应急处理
docker·容器·eureka
indexsunny3 天前
互联网大厂Java面试实录:Spring Boot到微服务的深入探讨
java·spring boot·微服务·面试·eureka·kafka·jwt