本地运行环境概述
2024年5月9日大约 4 分钟前期准备开发环境基础知识
重要
微服务系统不同于单体系统。搭建一套微服务系统所需要的基础设施以及涉及的组件非常多,即使是仅搭建本地开发环境,所需安装和运行的组件也远超单体系统。
所以,请对自身的硬件设施以及将要部署环境的资源有充份的评估和规划。如果,您只是想看看界面、随便点两下建议直接部署 Dante Cloud 单体版。
注意
使用最新的组件和版本,是 Dante Cloud 的特色之一。所以,如果您选择使用了 Dante Cloud,请尽可能安装使用各组件的最新版本,以避免使用某个组件的老旧版本,产生不必要的、不可预知的问题。
后端工程本地开发运行系统所需环境
本地开发最小环境
序号 | 设施 | 推荐版本 | 说明 |
---|---|---|---|
1 | Nacos | 2.4.3 | 微服务配置中心和服务发现中心必需组件 |
2 | Redis | 7.4.1 | 系统运行的必需组件 |
3 | Kafka | 3.8.0 | 系统运行的必需组件(最新版支持使用纯 Kafka 3) |
4 | PostgreSQL 数据库 | 16+ | 推荐的、默认的数据库 |
5 | JDK | 21+ | Java 开发必需,推荐使用 |
6 | Maven | 3.9.9 | 依赖管理工具。 |
7 | IDE | 2024.2 | 代码集成开发环境,推荐使用 IDEA。 |
8 | Git | 2.45.0 | 代码版本管理工具。 |
说明:
- Liberica Open JDK 是 Dante Cloud 默认使用的 JDK,更是 Spring 社区推荐使用 Open JDK。不涉及商业问题而且内置组件比较全面,开发使用遇到的问题比较少
- 本系统使用的是 spring cloud bus 同时兼容 RabbitMQ 和 Kafka,由于使用 Debezium 来支持工作流,ElasticSearch 数据同步,所以如果没有特殊的使用需求还是建议使用 Kafka。
- 在最新版本中默认改用纯 Kafka 3,无需再使用 Zookeeper。如果要使用 Debezium 进行数据同步,还是建议使用 Debezimu 的 Kafka 和 Zookeeper 的官方镜像。
- Nacos 作为微服务运行的核心组件,建议还是使用外置的数据库来持久化数据。Nacos 默认支持的外置数据库是 MySQL,所以需要安装 MySQL 数据库。如果您选择了 Dante Cloud 自主封装的、支持使用 Postgresql 作为 Nacos 外置存储的 Docker 镜像
herodotus/docker-server
,那么就不需要安装两种数据库 - Dante Cloud 支持数据库的切换,如果您习惯使用 MySQL 或者其它数据库,可以很方便的切换。但是如果是初次接触 Dante Cloud,建议还是先使用 Postgresql 数据库,把系统运行起来对整个系统有了初步的认知以后,再来更改数据库。
- 上图中的内容是保证微服务运行起来的最小环境需求,当然还有其它的 ELK、Skywalking、Sentinel Dashboard、Minio 等,这些都是辅助工具,并不会直接影响系统运行,本地开发可根据需要再行部署安装。
本地开发可选内容
序号 | 设施 | 推荐版本 | 说明 |
---|---|---|---|
1 | Zookeeper | Debezium 2.7 | 如果要使用 Debezium,那么建议使用官方 Kafka 镜像。Debezium 官方 Kafka 还是需要依赖 Zookeeper |
2 | MySQL 数据库 | 9.0.0 | 如果使用 Dante Cloud 封装的支持 Postgresql 的 Nacos 镜像无需安装 MySQL |
前端工程本地开发运行系统所需环境
序号 | 设施 | 推荐版本 | 说明 |
---|---|---|---|
1 | Nodejs | 20.13.0 | 运行前端 Vue 工程必须依赖,如果不需要运行前端可以忽略, |
2 | Pnpm | 9.2.0 | 前端包管理工具,Npm、PNPM 或其它工具也都可以 |
3 | IDE | 1.89.0 | 前端代码开发集成环境,推荐使用 Vscode |
说明:
- 推荐使用 Pnpm 进行前端包管理,这也是 Dante Cloud 前端工程默认的包管理工具。前端工程涉及的各组件版本,已经通过 pnpm-lock.yaml 进行了锁定,如果使用其它包管理工具,可能会出现不可预知的问题。
- 前端工程 IDE 工具推荐使用 Vscode,主要原因:一是 Vscode 是前端开发主流 IDE(后端更喜欢用 WebStorm),IDE 相同可以更方便定位问题;二是相比 WebStorm 占用的系统资源更少,毕竟运行后端所需要的资源就已经很多了。
- Nodejs 建议直接从官网下载 Stable 版本。由于现在前端各个组件更新迭代的非常快,各个组件对老旧版本的支持程度也千差万别。所以使用 Node 官网推荐 Stable 版本不会出现版本兼容之类的问题。
提示
因使用 Dante Cloud 的用户和开发人员的经验、水平差异很大,就导致不同用户搭建环境方法以及配置也会出现较大差异,而很多问题往往都是因为这些差异所导致。所以,建议您认真阅读【环境准备】中其它章节,尽可能保持与作者的环境和配置相一致,这样可以减少很多不必要的问题发生。