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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
### 一、整体架构
整体架构分为三部分:数据库类、文件存储类、$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帮助检查代码逻辑错误和潜在风险, 不存在无法大规模部署的问题。