本地运行部署概述
2024/12/19大约 5 分钟前期准备开发环境基础知识
重要
微服务系统不同于单体系统。搭建一套微服务系统所需要的基础设施以及涉及的组件非常多,即使是仅搭建本地开发环境,所需安装和运行的组件也远超单体系统。
所以,请对自身的硬件设施以及将要部署环境的资源有充份的评估和规划。如果您只是想看看界面、随便点两下建议直接部署 Dante Cloud 单体版。
注意
本章所有内容之所以均为本地说明,是因为不同用户的部署拓扑结构会千差万别,文档无法涵盖所有内容。但是“万变不离其宗”,正式环境或者其它环境的部署逻辑以及所需组件与本地部署基本一致,可以参考本章内容进行部署。
[一]后端工程本地开发运行系统所需环境
[1]环境必要组件
| 序号 | 设施 | 推荐版本 | 说明 |
|---|---|---|---|
| 1 | Redis | >= 7.4.2 | 系统运行所需的缓存必需组件 |
| 2 | PostgreSQL | >= 18 | 推荐的、默认的数据库 |
| 3 | JDK | >= 25 | Java 开发必需,推荐使用 |
| 4 | Maven | >= 3.9.13 | 依赖管理工具。 |
| 5 | IDE | >= 2025.3 | 代码集成开发环境,推荐使用 IDEA。 |
| 6 | Git | >= 2.51.0 | 代码版本管理工具。 |
说明:
- 不管是微服务版本还是单体版,以上的基础 Java 开发环境以及相关设施都是必需的。这些内容本身就是 Java 项目开发所必需的内容。
- Liberica Open JDK 是 Dante Cloud 默认使用的 JDK,更是 Spring 社区推荐使用 Open JDK。不涉及商业问题而且内置组件比较全面,开发使用遇到的问题比较少
- Dante Cloud 支持数据库的切换,如果您习惯使用 MySQL 或者其它数据库,可以很方便的切换。但是如果是初次接触 Dante Cloud,建议还是先使用 Postgresql 数据库,把系统运行起来对整个系统有了初步的认知以后,再来更改数据库。
[2]单体版本
只要安装了前面必要的组件,就可以运行单体版本。像 OSS 等其它额外的组件,可根据自身开发的需要灵活选择部署。
[3]微服务版本
| 序号 | 设施 | 推荐版本 | 说明 |
|---|---|---|---|
| 1 | Nacos | 3.1.1 | 微服务配置中心和服务发现中心必需组件 |
| 2 | Kafka | >= 4.1.0 | 系统运行的必需组件(最新版支持使用纯 Kafka 4) |
| 3 | Docker(可选) | >= 4.63.0 | Docker Desktop |
说明:
- Nacos 和 Kafka 是运行微服务版本必需的组件(Nacos 用于服务发现,Kafka 用于服务间通信)。这也是微服务最小化的运行所需的必要组件。
- 本系统服务间消息队列使用组件时是 Spring 生态中的 Spring Cloud Bus 和 Spring Cloud Stream。这两个组件兼容 RabbitMQ 和 Kafka,但由于使用 Debezium 来支持工作流,ElasticSearch 数据同步,所以如果没有特殊的使用需求还是建议使用 Kafka。
- Docker 环境不是必要的组件,你也可以选择手动安全装 Nacos 和 Kafka。只不过有一个 Docker 环境,更加方便而已。
Docker Desktop 结合 WSL 在很多情况下可以替代虚拟机
::: tips
- 上表中的内容是保证微服务运行起来的最小环境需求,当然还有其它的 ELK、Skywalking、Sentinel Dashboard、Minio 等,这些都是辅助工具,并不会直接影响系统运行,本地开发可根据需要再行部署安装。
- 微服务生产级部署会需要大量的基础设施环境,但是本地开发除了 Nacos 和 Kafka 以外,可以根据需要灵活部署以节省资源,特别是在硬件资源紧张的情况下
:::
[二]前端工程本地开发运行系统所需环境
| 序号 | 设施 | 推荐版本 | 说明 |
|---|---|---|---|
| 1 | Nodejs | >= 24.14.0 | 运行前端 Vue 工程必须依赖,如果不需要运行前端可以忽略, |
| 2 | Pnpm | >= 10.18.0 | 前端包管理工具,Npm、PNPM 或其它工具也都可以 |
| 3 | Vscode | >= 1.110.0 | 前端代码开发集成环境,推荐使用 Vscode |
说明:
- 推荐使用 Pnpm 进行前端包管理,这也是 Dante Cloud 前端工程默认的包管理工具。前端工程涉及的各组件版本,已经通过 pnpm-lock.yaml 进行了锁定,如果使用其它包管理工具,可能会出现不可预知的问题。
- 前端工程 IDE 工具推荐使用 Vscode,主要原因:一是 Vscode 是前端开发主流 IDE(后端更喜欢用 WebStorm),IDE 相同可以更方便定位问题;二是相比 WebStorm 占用的系统资源更少,毕竟运行后端所需要的资源就已经很多了。
- Nodejs 建议直接从官网下载 Stable 版本。由于现在前端各个组件更新迭代的非常快,各个组件对老旧版本的支持程度也千差万别。所以使用 Node 官网推荐 Stable 版本不会出现版本兼容之类的问题。
总结
重要
因使用 Dante Cloud 的用户和开发人员的经验、水平差异很大,就导致不同用户搭建环境方法以及配置也会出现较大差异。千万别小看基础环境的搭建,往往很多所谓的问题,都是因为基础环境搭建上产生的细小差异所导致。
所以,建议您认真阅读【环境准备】中其它章节,尽可能保持与作者的环境和配置相一致,这样可以减少很多不必要的问题发生。
