JH1️⃣入门②部署单体应用、微服务
- 单体应用:Monolithic
- 微服务应用:MicroService
- 微服务网关:Gateway
1、单体应用
1.1、创建单体应用
创建一个用于生产 Monolithic 应用 的目录,切换到该目录
示例
-
不使用响应式,JWT 身份验证类型
-
MySQL 数据库、不使用缓存
-
Maven 构建,不使用
JHipster Registry
和其它技术 -
前端:Vue 框架,生成 admin UI,默认 Bootswatch 主题、国际化(中英,注意空格选中)
-
不需要其它测试框架,不需要其它生成器
目录结构
1.2、数据库配置
-
为应用程序创建数据库
-
可使用本地/远程数据库(相对于使用 JHipster 的服务器而言)
-
可视化工具(如 Navicat)或命令行。
CREATE DATABASE mono_test;
-
-
修改配置文件:可视化工具(Xftp)或命令行方式
-
找到项目配置文件:
项目文件夹\src\main\resources\config\
-
修改配置:
dataSource
的 URL、用户名、密码 -
保存,确认配置成功修改(可在 Linux 中通过
cat
命令查看)
-
1.3、运行
初次启动 Maven 需要下载依赖,等待完成即可。
-
进入 JHipster 生成的应用程序目录
-
基于 Maven 构建的项目,输入
./mvnw
启动。cd /tmp/jhipster/myapplication ./mvnw
-
运行成功
-
访问项目
- 服务器 IP 地址:云服务器公网 IP、虚拟机静态 IP
- 默认端口号:8080
2、微服务(❗)
组件说明
- 注册中心:运行时配置、监控、扩展应用程序
- 微服务应用
- 微服务网关:处理 Web 流量,为前端应用提供服务
2.1、注册中心
Registry Center
- Eureka 服务:服务发现
- Spring Cloud 配置服务:运行时提供配置
- 管理服务器:监控、管理
2.1.1、安装方式
基于
Registry Center
创建微服务应用和网关,因此需要先安装注册中心。
有以下 4 种安装方式
- Spring 配置文件
- 解压 jar 包
- GitHub 克隆
- Docker 镜像
2.1.2、安装
以 GitHub 克隆方式为例,安装
Registry Center
-
创建应用程序目录,用于生产微服务应用。
mkdir -p /tmp/jhipster/mymicro cd /tmp/jhipster/mymicro
-
将 GitHub 项目克隆到当前目录。
git clone https://github.com/jhipster/jhipster-registry
-
完成安装:默认端口号 8761
2.2、微服务应用
2.2.1、创建
创建一个用于生产 Microservice 应用 的目录(与
Registry Center
同个父目录下)切换到该目录,启动 JHipster。
mkdir /tmp/jhipster/mymicro/myapplication
cd /tmp/jhipster/mymicro/myapplication
jhipster
具体选项参考本文 【1.3.3、2.1】。
-
端口号(避免端口冲突)
-
服务发现服务:
JHipster Registry
2.2.2、数据库配置
与单体应用的配置相同,参考本文【2.2】
-
为应用程序创建数据库
-
可使用本地/远程数据库(相对于使用 JHipster 的服务器而言)
-
可视化工具(如 Navicat)或命令行。
CREATE DATABASE micro_test;
-
-
修改配置文件:可视化工具(Xftp)或命令行方式
-
找到项目配置文件:
项目文件夹\src\main\resources\config\
-
修改配置: dataSource 的 URL、用户名、密码
-
保存,确认配置成功修改(可在 Linux 中通过
cat
命令查看)
-
2.3、微服务网关
2.3.1、创建网关应用
创建一个用于生产 Gateway application 的目录(与
Registry Center
同个父目录下)切换到该目录,启动 JHipster。
mkdir /tmp/jhipster/mymicro/gateway
cd /tmp/jhipster/mymicro/gateway
jhipster
具体选项参考本文 【1.3.3、2.1】
-
端口号(避免端口冲突)
-
服务发现服务:
JHipster Registry
2.3.2、数据库配置
与
Microservice application
使用同个数据库,配置有所不同。
修改配置文件:可视化工具(Xftp)或命令行方式
-
找到项目配置文件:
项目文件夹\src\main\resources\config\
-
修改配置:
-
liquibase
的 URL -
r2dbc
的 URL、用户名、密码
-
-
保存,确认配置成功修改(可在 Linux 中通过
cat
命令查看)
2.4、运行
-
步骤:启动注册中心(8761)→ 启动应用(8081) → 启动网关(8081)
-
方式:通过
screen
分别开启 3 个会话,以便管理。# 列出所有会话 screen -ls # 新建会话 screen -S 会话名 # 删除会话 screen -S 会话名 -X quit # 退出会话(挂起):快捷键 Ctrl+A+D screen -d 会话名 # 回到会话 screen -r 会话名
2.4.1、启动注册中心
初次启动 Maven 需要下载依赖,等待完成即可。
-
创建一个会话:用于启动注册中心,创建后自动进入会话。
screen -S jh-registry
-
切换到
Registry center
所在目录,执行./mvnw
启动项目。cd /tmp/jhipster/mymicro/jhipster-registry ./mvnw
-
启动成功,输出 URL 信息
-
访问 Registry:登录后可见已注册 1 个实例。
-
服务器 IP 地址:云服务器公网 IP、虚拟机静态 IP)
-
默认端口号:8761
-
默认账号密码:admin
-
-
挂起当前会话
# 快捷键 Ctrl+A+D screen -d jh-registry
2.4.2、启动微服务项目
初次启动 Maven 需要下载依赖,等待完成即可。
-
创建一个会话:用于启动微服务项目,创建后自动进入会话
screen -S jh-micro
-
切换到微服务应用所在目录,执行
./mvnw
启动项目。cd /tmp/jhipster/mymicro/myapplication ./mvnw
-
启动成功,输出 URL 信息
-
访问微服务项目
-
服务器 IP 地址:云服务器公网 IP、虚拟机静态 IP
-
端口号:8081
-
-
挂起当前会话
# 快捷键 Ctrl+A+D screen -d jh-micro
查看 Registry,可见已注册 2 个实例。
2.4.3、启动网关
初次启动 Maven 需要下载依赖,等待完成即可。
-
创建一个会话:用于启动网关,创建后自动进入会话。
screen -S jh-gateway
-
切换到网关应用所在目录,执行
./mvnw
启动项目。cd /tmp/jhipster/mymicro/gateway ./mvnw
-
启动成功,输出 URL 信息
-
访问网关
-
服务器 IP 地址:云服务器公网 IP、虚拟机静态 IP
-
端口号:8080
-
-
挂起当前会话
# 快捷键 Ctrl+A+D screen -d jh-gateway
查看 Registry,可见已注册 3 个实例。