JH2️⃣JDL②部署单体应用、微服务

1、单体应用

生成一个 monolith 应用,需求如下

  • 应用名称:myMono
  • Java 包名:indi.jaywee.mono
  • 身份验证类型:JWT
  • 数据库:MySQL,不使用缓存
  • 项目构建工具:Maven
  • 前端框架:Vue

1.1、创建 JDL 文件

  1. 开启 JDL-studio,输入配置内容。

    application {
    	config {
    		applicationType monolith
            baseName myMono
            packageName indi.jaywee.mono
    		authenticationType jwt
            databaseType sql
            prodDatabaseType mysql
            devDatabaseType mysql
            cacheProvider no
            buildTool maven
            clientFramework vue
    	}
    }
    
  2. 下载 JDL 文件

    image-20220518093925828

  3. 默认文件名 jhipster-jdl,建议重命名为应用程序名称,以便标识。

    image-20220518155150952

1.2、生成应用

  1. 创建一个文件夹用于生成应用程序,切换到该文件夹。

    image-20220518093819777

  2. 使用 Xftp 上传 JDL 文件。

    image-20220518094106586

  3. 执行 jhipster 指令,等待应用程序生成。

    • jhipster jdl myMono.jdl
      
    • image-20220518160120261

1.3、数据库配置

参考 JH2️⃣部署:单体应用、微服务

  1. 为应用程序创建数据库

    CREATE DATABASE 数据库名;
    
  2. 修改配置文件

    • 路径项目文件夹\src\main\resources\config\application-dev.yml

    • 修改内容:datasource 的 URL、账号密码

    • 保存,确认配置成功修改(可在 Linux 中通过 cat 命令查看)

      image-20220511155214798

1.4、运行

  • 创建一个 Screen,切换到应用程序所在文件夹,运行应用。

    screen -S jh-mono
    cd /tmp/jhipster/myMono
    ./mvnw
    
  • 运行成功:注意此处的 localhost 表示的是服务器的主机号。

    image-20220518161032618

  • 访问应用程序:可正常访问。

    image-20220518161245459

2、实践:微服务(❗)

生成微服务集合,需求如下

  • Registry Center:从 Github 下载。
  • microservice
    • 应用名称:myMicro
    • 服务端口号:8081
    • Java 包名:indi.jaywee.micro
    • 身份验证类型:JWT
    • 数据库:MySQL,不使用缓存
    • 项目构建工具:Maven
    • 国际化:英文、中文
  • gateway
    • 应用名称:myGateway
    • 服务端口号:8080
    • Java 包名:indi.jaywee.gateway
    • 身份验证类型:JWT
    • 数据库:MySQL,不使用缓存
    • 项目构建工具:Maven
    • 前端框架:Vue
    • 国际化:英文、中文

2.1、注册中心

GitHub 克隆方式安装 Registry Center

  1. 创建应用程序目录,用于生产微服务应用

    mkdir -p /tmp/jhipster/myMicro
    cd /tmp/jhipster/myMicro
    
  2. 将 GitHub 项目克隆到当前目录

    git clone https://github.com/jhipster/jhipster-registry
    

2.2、微服务应用 & 网关

2.2.1、创建 JDL 文件

单个 JDL 文件可声明多个 application,

生成应用时会自动为不同 application 创建子文件夹。

  1. JDL-studio 输入配置内容

    application {
    	config {
    		applicationType microservice
            baseName myMicro
            serverPort 8081
            packageName indi.jaywee.micro
    		authenticationType jwt
            databaseType sql
            prodDatabaseType mysql
            devDatabaseType mysql
            cacheProvider no
            buildTool maven
            nativeLanguage en
            languages [zh-cn]
    	}
    }
    application {
    	config {
    		applicationType gateway
            baseName myGateway
            serverPort 8080
            packageName indi.jaywee.gateway
    		authenticationType jwt
            databaseType sql
            prodDatabaseType mysql
            devDatabaseType mysql
            cacheProvider no
            buildTool maven
            clientFramework vue
            nativeLanguage en
            languages [zh-cn]
    	}
    }
    
  2. 下载 JDL 文件:默认文件名 jhipster-jdl,建议重命名为应用程序名称,以便标识。

    image-20220518164545625

2.2.2、生成应用

  1. 切换到应用程序文件夹。

    cd /tmp/jhipster/myMicro
    
  2. 使用 Xftp 上传 JDL 文件。

    image-20220518164848285

  3. 执行 jhipster 指令,等待应用程序生成。

    • jhipster jdl myMicro.jdl
      
    • image-20220518165330327

    • 应用程序会在子文件夹中生成。

      image-20220518165407831

2.2.3、数据库配置

参考 JH2️⃣部署:单体应用、微服务

  1. 为应用程序创建数据库(微服务应用和网关共用)

    CREATE DATABASE 数据库名;
    
  2. 修改配置文件:微服务应用、网关都需修改。

    • 路径项目文件夹\src\main\resources\config\application-dev.yml

    • 修改内容

      • 微服务应用:datasource 的 URL、账号密码

      • 网关应用liquibase 的 URL,r2dbc 的 URL、用户名、密码

    • 保存,确认配置成功修改(可在 Linux 中通过 cat 命令查看)

2.3、运行

  • 步骤:启动注册中心(8761)→ 启动应用(8081) → 启动网关(8081)

  • 方式:通过 screen 分别开启 3 个会话,以便管理。

    # 列出所有会话
    screen -ls
    # 新建会话
    screen -S 会话名
    # 删除会话
    screen -S 会话名 -X quit
    # 退出会话(挂起):快捷键 Ctrl+A+D
    screen -d 会话名
    # 回到会话
    screen -r 会话名
    

2.3.1、启动

启动 Registry Center

  1. 创建一个会话:用于启动注册中心,创建后自动进入会话。

    screen -S jh-registry
    
  2. 切换到 Registry center 所在目录,执行 ./mvnw 启动项目。

  3. 启动成功,输出 URL 信息

  4. 访问 Registry center

    • 服务器 IP 地址:云服务器公网 IP、虚拟机静态 IP

    • 默认端口号:8761

    • 默认账号密码:admin

  5. 挂起当前会话

    # 快捷键 Ctrl+A+D
    screen -d jh-registry
    

按照以上方式,分别启动 myMicro 和 myGateway

2.3.2、访问

服务启动后即可访问,如下所示

  • Registry Center:已注册 3 个示例

    image-20220518180859435

  • myMicro:成功访问

    image-20220518180941638

  • myGateway:成功访问

    image-20220518181013817

posted @ 2022-05-19 09:34  Jaywee  阅读(103)  评论(0编辑  收藏  举报

👇