跳到主要内容

迁移到 Docusaurus

Jimmy Kmi
Give it a try, how will you know if you don't try?

我将网站架构从 Next.js 迁移到了开源的 Docusaurus,同时也将服务器从之前的服务+CDN架构迁移到了完全的Serverless环境。

1. 关于迁移到 Docusaurus

目前,我一个人的开发速度尚不足以支持我构思的平台。因此,我决定将更多的资源投入到我认为更关键和令人激动的功能开发中。当然,这可能会导致一些不便,例如某些以前的高级Web操作无法实现,但这不会妨碍我继续沿用之前的设计和我的用户界面(UI)设计。同时,我的开发工作也将持续进行,包括组件和图标的设计。

如果您不是专业开发人员,也不熟悉 Docusaurus 是什么:

  • Docusaurus 是一个完备的页面设计工具,我(作为用户)可以全身心投入到内容创作,而无需担心各种排版问题。当然,如果我需要特殊的排版或更多功能,也可以在基础上进行定制开发。
  • 我认为最大的好处是 Docusaurus 基于开源社区,因此可以随时获得社区提供的新功能,例如新的按钮、输入框等,而我无需花费太多时间在这方面。

2. 关于抛弃传统服务架构

在这次更新中,最显著的变化之一是我抛弃了之前的传统服务架构,转向了完全的 Serverless 架构。虽然从理论角度来看,我可以列举许多采用 Serverless 的理由,但以下几点才是真正打动我的原因:

1. 成本问题

从传统服务器架构转向微服务架构后,在相同的运算量储备情况下,我的实际支出减少了约60%。

2. 简化运维

几乎不需要进行繁琐的运维工作。

  • 首先是负载均衡: 我们需要考虑负载均衡,但无需担心服务器层面的负载均衡。当然,如果碰巧涉及到无状态服务,我们可以在CDN层面进行负载均衡,从而显著减少了维护负担和成本。
  • 然后是服务器自身的问题: 包括网络、系统、安全和系统更新。尽管在使用 Self Host Serverless 时仍然会遇到这些运维问题,但面对简单且经济实惠的负载均衡解决方案,不必担心由于一个服务的失误而导致整个服务器崩溃。当然,对于财力雄厚、一直使用专用负载均衡的大企业来说,这个问题可能不成问题。
  • 接下来是部署的问题: 传统部署方式通常涉及关闭服务、复制文件并重新启动。但是在容器技术和Serverless技术的帮助下,这些过程几乎不再需要。再加上现代的自动化部署流程,目前我的大多数网站(约90%)都已实现自动化部署。

3. 安全性

这一点非常有趣。尽管不能说Serverless化就一定更安全,但至少关于系统安全层面的问题变得更加抽象化。我简单列举一下安全发展的时间线:

  • 2020年:使用密码通过公共网络登录服务器,数据库也在服务器上。
  • 2021年:通过证书登录服务器,将数据库放置在与互联网隔离的另一台服务器上。
  • 2022年:使用证书登录服务器,不再使用专用服务器存放数据库。
  • 2023年:所有公共服务都不再依赖专用服务器。