Skip to content

技术架构

整体架构

悦木图库采用现代化的前后端分离架构,后端基于Spring Boot微服务架构,前端使用Vue 3生态系统构建单页面应用(SPA)。系统具有高可用性、高并发性和可扩展性。

后端技术栈

核心框架

  • Spring Boot 2.6.13 - 作为主要开发框架,提供快速开发能力
  • Spring MVC - Web层框架,处理HTTP请求和响应
  • Spring Security - 安全框架,提供认证和授权功能

数据访问层

  • MyBatis-Plus 3.5.9 - ORM框架,简化数据库操作
  • MySQL 8.0 - 主数据库,存储用户、内容、社交关系等数据
  • Redis 7.0 - 缓存和会话存储,提高系统性能
  • Elasticsearch 8.0 - 搜索引擎,提供全文检索功能(必需组件)

消息队列与异步处理

  • Netty 4.1.104 - 网络编程框架,用于WebSocket实时通信
  • LMAX Disruptor 3.4.2 - 高性能无锁队列,用于异步处理

缓存与会话管理

  • Redisson 3.21.0 - Redis客户端,提供分布式锁等功能
  • Caffeine 2.9.3 - 本地缓存,提高热点数据访问速度

权限认证

  • Sa-Token 1.39.0 - 权限认证框架,支持多种登录模式
  • JWT - 用于无状态身份验证

数据库扩展

  • ShardingSphere JDBC 5.2.0 - 分库分表中间件,支持水平扩展

对象存储

  • 腾讯云COS SDK 5.6.227 - 对象存储服务,存储图片、视频等文件(必需组件)

AI与搜索

  • LangChain4j 0.24.0 - RAG框架,提供AI对话功能
  • Elasticsearch Client - 用于全文搜索和数据分析

工具库

  • Hutool 5.8.26 - Java工具集,简化开发
  • Apache POI 5.2.2 - Excel文档处理
  • Fastjson 2.0.43 - JSON序列化/反序列化
  • Jsoup 1.15.3 - HTML解析和清理

API文档

  • Knife4j 4.4.0 - Swagger增强工具,提供美观的API文档界面

前端技术栈

核心框架

  • Vue 3.5.13 - 渐进式JavaScript框架,采用Composition API
  • TypeScript 5.6.3 - JavaScript超集,提供类型安全

UI框架

  • Ant Design Vue 4.2.6 - PC端企业级UI组件库
  • Vant 4.9.22 - 移动端UI组件库

状态管理与路由

  • Pinia 2.2.6 - Vue官方推荐的状态管理库
  • Vue Router 4.4.5 - Vue官方路由管理器

HTTP客户端

  • Axios 1.10.0 - 基于Promise的HTTP客户端

数据可视化

  • ECharts 5.6.0 - 数据可视化图表库
  • ECharts WordCloud 2.1.0 - 词云图插件

富文本编辑器

  • Bytemd 1.22.0 - Markdown编辑器组件
  • WangEditor 5.1.23 - 富文本编辑器

图片处理

  • Vue Cropper 1.1.4 - 图片裁剪组件
  • Vue Easy Lightbox 1.19.0 - 图片灯箱浏览组件
  • TUI Image Editor 3.15.3 - 图片编辑器
  • CompressorJS 1.2.1 - 图片压缩库
  • Browser Image Compression 2.0.2 - 浏览器图片压缩

音视频处理

  • FFmpeg.js 0.9.8 - 视频处理库
  • Wavesurfer.js 7.9.9 - 音频波形可视化
  • RecorderX 2.0.2 - 音频录制组件

动画与交互

  • Animate.css 4.1.1 - CSS动画库
  • Vue Use Motion 2.2.6 - Vue动画库
  • Swiper 12.0.3 - 触摸滑动组件
  • Vue Baberrage 3.2.4 - 弹幕组件

构建工具

  • Vite 6.0.1 - 下一代前端构建工具
  • ESBuild - 快速的JavaScript打包工具

微服务架构

服务拆分

系统采用微服务架构设计,主要分为以下服务:

  • 用户服务 - 处理用户注册、登录、个人信息管理
  • 内容服务 - 管理图片、帖子、视频等内容
  • 社交服务 - 处理点赞、评论、关注等社交功能
  • 搜索服务 - 提供全文检索和推荐功能
  • 文件服务 - 管理文件上传、存储和CDN分发
  • 消息服务 - 处理站内信、通知等消息推送
  • AI服务 - 提供智能内容分析和对话功能

服务治理

  • 服务注册与发现 - 使用Nacos作为服务注册中心
  • 负载均衡 - 集成Ribbon实现客户端负载均衡
  • 熔断降级 - 使用Sentinel实现流量控制和熔断
  • 分布式配置 - 通过Nacos统一管理配置

数据库设计

主要表结构

  • user - 用户基本信息表
  • picture - 图片信息表(分表存储)
  • post - 帖子信息表
  • space - 空间信息表
  • comment - 评论表
  • like_record - 点赞记录表
  • favorite_record - 收藏记录表
  • share_record - 分享记录表
  • view_record - 浏览记录表

分库分表策略

  • 按空间ID分表 - 图片表根据spaceId进行水平分表
  • 按用户ID分库 - 用户相关表根据userId进行分库
  • 冷热数据分离 - 历史数据归档到单独的数据源

缓存策略

多级缓存

  • 本地缓存 - 使用Caffeine缓存热点数据
  • 分布式缓存 - 使用Redis缓存会话和全局数据
  • CDN缓存 - 静态资源通过CDN加速

缓存更新策略

  • 写穿策略 - 缓存与数据库保持强一致
  • 失效策略 - 设置合理的过期时间
  • 预热策略 - 系统启动时预加载常用数据

安全措施

认证授权

  • 多重身份验证 - 支持密码、短信、第三方登录
  • 权限分级 - 用户、管理员、超级管理员多级权限
  • 会话管理 - 基于Redis的分布式会话管理

数据安全

  • 敏感信息脱敏 - 用户隐私信息脱敏处理
  • SQL注入防护 - 使用预编译语句防止注入攻击
  • XSS防护 - 输入内容过滤和输出转义

内容审核

  • AI自动审核 - 图片和文字内容自动审核
  • 人工复核 - 重点内容人工审核机制
  • 举报机制 - 用户举报和处理流程

性能优化

前端优化

  • 代码分割 - 按路由和功能模块分割代码
  • 懒加载 - 图片和组件懒加载
  • 缓存策略 - 合理设置浏览器缓存
  • CDN加速 - 静态资源CDN分发

后端优化

  • 数据库优化 - 索引优化、查询优化
  • 缓存优化 - 合理使用多级缓存
  • 异步处理 - 耗时操作异步处理
  • 连接池优化 - 数据库和Redis连接池调优

部署架构

容器化部署

  • Docker - 应用容器化部署
  • Docker Compose - 多容器应用编排
  • Kubernetes - 容器集群管理

CI/CD流水线

  • 自动化构建 - 代码提交自动构建
  • 自动化测试 - 单元测试和集成测试
  • 自动化部署 - 一键部署到测试和生产环境

监控与运维

应用监控

  • 日志管理 - 结构化日志收集和分析
  • 性能监控 - 应用性能指标监控
  • 业务监控 - 关键业务指标监控

基础设施监控

  • 服务器监控 - CPU、内存、磁盘使用情况
  • 网络监控 - 网络延迟和带宽监控
  • 数据库监控 - 数据库性能和连接监控

Released under the MIT License.