架构设计

  • 单体架构:该解决方案是一个单体架构,可以在一个进程中运行。相对于分布式系统而言,单体架构更加简单易用,对于中小企业而言,减少复杂度可以降低开发和维护成本。
  • 合理的分包设计:该解决方案进行了合理的分包设计,将业务逻辑、数据访问、工具类等模块分开,提高了代码的可读性和可维护性,同时也为后期将系统拆分为微服务做好了准备。
  • 易于迁移为 Spring Cloud 微服务架构:该解决方案在设计时考虑到后期可能需要将系统拆分为微服务,一旦需要将系统拆分为微服务,只需要将单体应用拆分为多个服务,并添加 Spring Cloud 注册发现相关组件即可。
  • 完全兼容 PIG 微服务技术栈:该解决方案实施标准、开发步骤、工具类等完全兼容 PIG 微服务架构,方便用户在单体架构、微服务架构中进行切换过渡。

特别提醒:在使用单体版本之前,请确保已经成功运行了 PIG 微服务版本。

一、运行服务端

① 下载服务端代码

下载服务端源码,注意分支选择

git clone https://gitee.com/log4j/pig.git -b jdk17

② 执行 SQL 脚本

pig
├── db
│   ├── pig.sql

③ 加载 pig-boot 模块

切换 Maven profile 至 boot

④ 运行 upms 模块

修改 pig-boot/application-dev.yml,redis、mysql 链接信息

PigBootApplication.java main 方法启动服务即可

二、运行前端

# 下载前端
git clone https://gitee.com/log4j/pig-ui.git -b master

配置前端架构为单体

安装依赖运行

# node 版本需要 18
node -v  

# 安装依赖
npm install  --registry=https://registry.npmmirror.com

# 运行
npm run dev

三、访问使用

浏览器访问:http://localhost:8888

默认用户名:admin

默认密码:123456

四、其他说明

① 加快启动速度

由于单体架构的特性,需要在 JVM 启动之前加载所有模块,这会导致启动速度缓慢。根据实际业务情况,可以屏蔽以下相关的依赖。

② swagger 调试

和微服务版本请求地址不同的是

♥️ 获取支持

遇到问题?

如果您在使用过程中遇到任何问题、有功能建议或需求,请点击此卡片前往 Gitee 仓库提交 Issue。