设为首页 加入收藏

TOP

Spring Cloud开发实践(六): 基于Consul和Spring Cloud 2021.0的演示项目(一)
2023-07-25 21:24:08 】 浏览:52
Tags:Spring Cloud 基于 Consul 2021.0 项目

目录

Consul 服务

启动Consul服务, 在Win10下可以执行以下命令, 或者存成bat文件运行, 保持窗口打开

consul agent -dev -client=0.0.0.0 -data-dir .\ -advertise 127.0.0.1 -ui -config-dir .\

浏览器访问 http://127.0.0.1:8500 , 用于观察后面注册的Node和Health情况

Spring Cloud 项目

这个演示项目使用的 Spring Boot 和 Spring Cloud 都不是最新版本, 因为最新版本最低要求 JDK17. 这里选择的是对应 JDK11 可用的最高版本, 各组件版本明细为

  • Consul 1.15
  • JDK 11
  • Spring Boot 2.7.11
  • Spring Cloud 2021.0.6

整体结构

这个用于演示的项目名称为 Dummy, 包含3个子模块, 分别是 dummy-common-api, dummy-common-impl 和 dummy-admin, 其中

  • dummy-common-api 和 dummy-common-impl 逻辑上属于同一个模块 dummy-common. api 是对外输出的接口, impl是对应的实现
  • dummy-admin 依赖 dummy-common-api , 使用其提供的接口

打包后, 需要部署的是两个jar: dummy-common.jar 和 dummy-admin.jar, 前者提供服务接口, 后者消费前者提供的接口, 并对外(例如前端, 小程序, APP)提供接口

项目的整体结构如下

│   pom.xml
├───dummy-admin
│   │   pom.xml
│   ├───src
│   │   ├───main
│   │   │   ├───java
│   │   │   └───resources
│   │   │           application.yml
│   │   └───test
│   └───target
├───dummy-common-api
│   │   pom.xml
│   ├───src
│   │   ├───main
│   │   │   ├───java
│   │   │   └───resources
│   │   └───test
│   └───target
└───dummy-common-impl
    │   pom.xml
    ├───src
    │   ├───main
    │   │   ├───java
    │   │   └───resources
    │   │           application.yml
    │   └───test
    └───target

根模块 Dummy

根模块的 pom.xml 中,

  • 定义了子模块, module标签中的内容, 要和子模块目录名一致.
  • 设置JDK版本 11
  • 引入全局 Spring Boot Dependencies, 版本 2.7.11
  • 引入全局 Spring Cloud Dependencies, 版本 2021.0.6
  • 还有一些是Plugin相关的版本, 略
<?xml version="1.0" encoding="UTF-8"?>
    ...
    <name>Dummy: Root</name>
    <modules>
        <module>dummy-common-api</module>
        <module>dummy-common-impl</module>
        <module>dummy-admin</module>
    </modules>

    <properties>
        <!-- Global encoding -->
        <project.jdk.version>11</project.jdk.version>
        <project.source.encoding>UTF-8</project.source.encoding>

        <!-- Global dependency versions -->
        <spring-boot.version>2.7.11</spring-boot.version>
        <spring-cloud.version>2021.0.6</spring-cloud.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Spring Boot Dependencies -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Spring Cloud Dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        ...
    </build>

</project>

Dummy Common API 模块

这个模块用于生成依赖的jar包, 作用非常重要. 以下详细说明

pom.xml 中除了定义和父模块的关系, 需要引入 openfeign

<?xml version="1.0" encoding="UTF-8"?>
    ...
    <parent>
        <groupId>com.rockbb.test</groupId>
        <artifactId&g
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring Boot 实现跨域的 5 种方式.. 下一篇利用简单的IO操作实现M3U8文件之..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目