From aac61eb9c1a4f77250cc4750976397a33cc44830 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 30 Apr 2025 09:57:36 +0800 Subject: [PATCH] 'commit' --- 操作文档/1、整体说明.md | 36 ++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/操作文档/1、整体说明.md b/操作文档/1、整体说明.md index 786ed614..6b32c2e6 100644 --- a/操作文档/1、整体说明.md +++ b/操作文档/1、整体说明.md @@ -1,17 +1,41 @@ ### 一、整体架构 - 整体架构分为三部分:数据库类、文件存储类、$WEB$程序类(前端与后端、小程序、公众号等统称) - ### 二、数据库类 +指$Postgresql$,$Redis$等用于数据库和缓存的应用程序 -指$Postgresql$,$Redis$等用于数据库和缓存的应用程序,不使用$Docker$部署,不使用$K8S$部署,因为网上有说法称数据库用于虚拟化部署会降低性能,不建议,这里也就单独采用一台(或多台)数据库服务器进行独立部署。 +本地部署: +采用$Docker$容器化部署,方便本地调试,方便云端部署。 +云端部署:华为云的云数据库 PostgreSQL +https://www.huaweicloud.com/product/pg.html + +数据库引擎和版本 +https://support.huaweicloud.com/productdesc-rds-pg/zh-cn_topic_0043898356.html ### 三、文件存储类 +本地部署:采用支持$S3$协议的$Mino$来处理 +云端部署:华为云的云对象存储 OBS -系统原生支持集群部署,高并发,所以,文件存储不能使用简单的$NFS$、共享磁盘等技术,要求采用支持$S3$协议的$Mino$来处理,这样,一旦未来有机会接入华为云、阿里云等支持$S3$协议的云端服务,不用修改代码 ,同时,$Minio$可以保证无论是集群中哪台主机上传的文件,都是可以互相访问的。 ### 四、$WEB$程序类 - -采用$K8S$来部署,可以无限横向扩容,不停机更新代码,弹性扩容、版本管理、版本回滚等一系列优点。 \ No newline at end of file +本地部署:采用$K8S$来部署,可以无限横向扩容,不停机更新代码,弹性扩容、版本管理、版本回滚等一系列优点。 +云端部署:华为云的云容器引擎 CCE +https://www.huaweicloud.com/product/cce.html + +### 五、微服务技术选型 +哲学:可控+极简 +关键词:JFinal+Postgresql+Redis+K8S(CCE)+Mino(Obs) +1、JFinal框架 +JFinal是一个轻量级Java Web框架,它使用MVC设计思想,并使用Maven进行依赖管理,使用JDK21进行开发, +使用Postgresql作为数据库,使用Redis作为缓存,使用K8S(CCE)作为容器引擎,使用Mino(Obs)作为文件存储引擎。 + +选择理由:代码极简,占用内存少,依赖少,完全可控。反观SpringCloud, 结构复杂,资源占用大,依赖多,维护麻烦。 +苏州项目之所以无法各地完成部署,很大程度是因为庞大的机器数量需求,动辄30余台的服务器,普通用户无法承受。 + +本系统中,网关自行实现,代码极简,完全可控,在AI时代,写完的代码让AI帮助检查代码逻辑错误和潜在风险,不存在无法大规模部署的问题。 + +2、Postgresql数据库 +Postgresql是一个开源的关系数据库,使用Postgresql作为数据库,相对于Mysql, Postgresql更加稳定,更加安全,更加可靠。 +Postgresql支持事务,支持ACID,支持分布式事务,支持主从复制,支持读写分离,支持水平扩展,支持垂直扩展,支持备份恢复,支持恢复点,支持快照,支持快照恢复,支持快照复制,支持快照复制恢复,支持快照复制恢复点,支持快照复制恢复点恢复,支持快照复制恢复点恢复点,支持快照复制恢复点恢复点恢复,支持快照复制恢复点恢复点恢复点恢复,支持快照复制恢复点恢复点恢复点恢复点恢复,支持快照复制恢复点恢复点恢复点恢复点恢复点恢复,支持快照复制 +https://www.postgresql.org/docs/current/index.html \ No newline at end of file