进阶学习-单体架构部署
架构设计
- 单体架构:该解决方案是一个单体架构,可以在一个进程中运行。相对于分布式系统而言,单体架构更加简单易用,对于中小企业而言,减少复杂度可以降低开发和维护成本。
- 合理的分包设计:该解决方案进行了合理的分包设计,将业务逻辑、数据访问、工具类等模块分开,提高了代码的可读性和可维护性,同时也为后期将系统拆分为微服务做好了准备。
- 易于迁移为 Spring Cloud 微服务架构:该解决方案在设计时考虑到后期可能需要将系统拆分为微服务,一旦需要将系统拆分为微服务,只需要将单体应用拆分为多个服务,并添加 Spring Cloud 注册发现相关组件即可。
- 完全兼容 PIG 微服务技术栈:该解决方案实施标准、开发步骤、工具类等完全兼容 PIG 微服务架构,方便用户在单体架构、微服务架构中进行切换过渡。
特别提醒:在使用单体版本之前,请确保已经成功运行了 PIG 微服务版本。
一、运行服务端
① 下载服务端代码
下载服务端源码,注意分支选择
② 执行 SQL 脚本
③ 加载 pig-boot 模块
切换 Maven profile 至 boot
④ 运行 upms 模块
修改 pig-boot/application-dev.yml,redis、mysql 链接信息
PigBootApplication.java main 方法启动服务即可
二、运行前端
配置前端架构为单体
安装依赖运行
三、访问使用
四、其他说明
① 加快启动速度
由于单体架构的特性,需要在 JVM 启动之前加载所有模块,这会导致启动速度缓慢。根据实际业务情况,可以屏蔽以下相关的依赖。
② swagger 调试
和微服务版本请求地址不同的是
- swagger-ui: http://127.0.0.1:9999/admin/swagger-ui.html
- knife4j: http://127.0.0.1:9999/admin/doc.html
♥️ 获取支持
遇到问题?
如果您在使用过程中遇到任何问题、有功能建议或需求,请点击此卡片前往 Gitee 仓库提交 Issue。