后端:
这个项目因为考虑到了分布式设计的要求, 所以后端被拆分为了三个部分 (边缘节点, 中心节点), 中心节点跑在 “家里云”, 边缘节点为普通服务器
这样设计把数据库放在本地, 保证有足够的算力/存储, 边缘节点服务器拥有v4地址, 对外提供服务, 同时通过拦截恶意请求和缓存机制减少 “回源” 流量
大概架构如图:

中心节点:
这个节点负责与数据交互, 在以前的版本都是使用 Python/FastAPI 实现, 但是呢性能瓶颈还是比较大, 尤其是在推荐流筛选时 Python 效率还是不太够
v5 决定采用 .NET 作为框架, 不使用 Spring 还是因为太吃性能了, .NET 相对轻量又有较好的性能
数据库使用 PostgreSQL, 驱动使用官方提供的 Npgsql, 完全支持异步操作, 而且在设计 MVP(最小系统) 时经过调教后能够与 R2R 兼容
边缘节点:
这个节点主要就是命中缓存+转发, 所以可以继续使用 FastAPI, 缓存使用常见的 Redis, 使用 Aioredis 访问, 回源采用 v6 + ddns 直接与中心节点沟通
OSS 边缘节点:
此节点专门用于静态媒体分发, 同样起到缓存的作用
(感觉没什么好讲的了)
前端:
前端使用 Vue3 + MDUI2 构建, 质感设计 3 的 UI 真的好看
默认主题色: #3C5C70 (充满活力的 调色板方案)
回复 压缩毛巾 取消回复