【单体应用】; 【微服务】注册中心、微服务应用、微服务网关。
- 单体应用: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
的 URLr2dbc
的 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 个实例。