内容提要
2024年积薪进行了一次性能优化的更新,前端升级了框架和增加了预加载数据设定,去除了umami统计。后端升级了依赖,将提取文章和RSS的部分移至supabase的边缘函数处理,并增加了数据缓存。此外,正在进行中的博客系统重构工作,该系统将集中常用的博客功能,并采用前后端分离的架构。
延伸解读
性能优化背后的架构调整
本次更新虽未改变界面,但前后端均进行了性能优化。前端升级至SvelteKit 2并增加预加载,后端将文章和RSS提取移至Supabase边缘函数,并为Nest的@Get请求增加1小时缓存,减少对异地Mongo数据库的访问。这些调整旨在降低请求延迟,提升加载速度。
从umami到Cloudflare分析:数据统计的取舍
作者去除了umami统计,改用Cloudflare自带分析。原因是umami的埋点数据占用了Supabase免费容量,而新博客系统也需要使用Supabase。这反映了在资源有限时,作者更倾向于轻量级方案,并反思了佛系运营下统计数据的必要性。
新博客系统重构:功能与架构展望
正在重构的博客系统将集中常用功能,支持长文、摄影、微博等多种内容分类和多语言,并自带评论、邮件提醒、博客统计、外链预览等。架构采用前后端分离,后端、数据库、媒体存储、管理后台和网站前端均独立。作者计划上半年完成,工程量较大。
Q&A
积薪2024年1月更新主要做了哪些性能优化?
前端升级到SvelteKit 2,为首页内部链接增加预加载数据设定,去除umami统计改用Cloudflare分析;后端升级依赖,将文章和RSS提取移至Supabase边缘函数,并为Nest的@Get请求增加1小时缓存。
为什么积薪去掉了umami统计?
因为umami部署在Vercel,数据库用Supabase,埋点数据太多快撑爆Supabase免费容量,且新博客系统也要用Supabase,所以停掉umami,改用Cloudflare自带分析。
积薪的后端数据缓存是如何实现的?有什么好处?
给Nest的@Get请求增加了1小时缓存,这样后端数据基本从内存读取,减少了对异地Mongo数据库的访问,从而降低请求延时。
积薪的文章和RSS提取现在由什么处理?
现在移出了后端,改由Supabase的边缘函数进行处理。
积薪正在重构的博客系统有哪些功能?
新系统将集中常用博客功能,支持多种内容分类(长文、摄影、微博)和多语言,自带评论、邮件提醒、博客统计数据、外链预览等功能。
新博客系统的架构是怎样的?
采用前后端分离架构,后端、数据库、媒体存储、管理后台、网站前端都是独立的。
外链预览功能是做什么的?
在文章中插入外链时,会从该链接抓取关键信息以及截图进行存储,以解决外链年久失修无法访问的问题。