You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
### 一、整体架构
|
|
|
|
|
整体架构分为三部分:数据库类、文件存储类、$WEB$程序类(前端与后端、小程序、公众号等统称)
|
|
|
|
|
|
|
|
|
|
### 二、数据库类
|
|
|
|
|
指$Mysql$,$Redis$等用于数据库和缓存的应用程序
|
|
|
|
|
|
|
|
|
|
本地部署:
|
|
|
|
|
采用$Docker$容器化部署,方便本地调试,方便云端部署。
|
|
|
|
|
|
|
|
|
|
云端部署:华为云的云数据库 Mysql
|
|
|
|
|
https://www.huaweicloud.com/product/pg.html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 三、文件存储类
|
|
|
|
|
本地部署:采用支持$S3$协议的$Mino$来处理
|
|
|
|
|
云端部署:华为云的云对象存储 OBS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 四、$WEB$程序类
|
|
|
|
|
本地部署:采用$K8S$来部署,可以无限横向扩容,不停机更新代码,弹性扩容、版本管理、版本回滚等一系列优点。
|
|
|
|
|
云端部署:华为云的云容器引擎 CCE
|
|
|
|
|
https://www.huaweicloud.com/product/cce.html
|
|
|
|
|
|
|
|
|
|
### 五、微服务技术选型
|
|
|
|
|
哲学:可控+极简
|
|
|
|
|
关键词:JFinal+Mysql+Redis+K8S(CCE)+Mino(Obs)
|
|
|
|
|
|
|
|
|
|
JFinal框架
|
|
|
|
|
JFinal是一个轻量级Java Web框架,它使用MVC设计思想,并使用Maven进行依赖管理,使用JDK21进行开发,
|
|
|
|
|
使用Mysql作为数据库,使用Redis作为缓存,使用K8S(CCE)作为容器引擎,使用Mino(Obs)作为文件存储引擎。
|
|
|
|
|
|
|
|
|
|
选择理由:代码极简,占用内存少,依赖少,完全可控。反观SpringCloud, 结构复杂,资源占用大,依赖多,维护麻烦。
|
|
|
|
|
苏州项目之所以无法各地完成部署,很大程度是因为庞大的机器数量需求,动辄30余台的服务器,普通用户无法承受。
|
|
|
|
|
|
|
|
|
|
本系统中,网关自行实现,代码极简,完全可控,在AI时代,写完的代码让AI帮助检查代码逻辑错误和潜在风险,不存在无法大规模部署的问题。
|
|
|
|
|
|