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.

1.7 KiB

This file contains ambiguous Unicode characters!

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帮助检查代码逻辑错误和潜在风险不存在无法大规模部署的问题。