Mog 2.0 (Odyssey) 开始重构 - Stage 1 Issue

Mog 2.0 (Odyssey) 开始重构 - Stage 1 Issue

从 NEXT 到 Mog 是一个比较惨痛的过程,已经有一部分人知道此项目了,他们通常称之为 "nx",现在修改这个名字对宣传来说并不是一件好事,但为了以后的发展我们必须这样做。

新的名字由两个单词组成:Module + Blog = Mog,这和我们在 v2 版本的构思有关。我们在 v2 突破地采用了微服务架构,对于不同的服务分离,我们仍在探索当中,相信出版的时候可以寻找到一个较好的方案。

一些 Q&A

为什么突然要重构?

1.x 版本由于更新仓促,导致了很多的问题,比如:

  • API RESTFul 规范
  • DTO 与 Model 不匹配,导致输出存在问题
  • 接口方法书写混乱
  • 注释不规范
  • 很难继续向上堆积功能,原架构会导致功能臃肿

为了长久的发展,我们发布了最后的 v1.7.0,并立即开始了 v2 的重构

这次更新有什么新功能或者优势?

  1. 2.x 版本将会内置后台,无需额外部署,也不应额外部署,这会增加更多的在意料之外的维护成本
  2. 2.x 使用微服务架构扩展性对比单一服务高了很多,且一个微服务的异常不会导致其它微服务同时异常,增强稳定性
  3. 评论模块、邮件模块、友链模块、渲染模块将会独立为一个单独服务
  4. 我们对文档进行了重写,重新使用了 Vitepress,并且参照了许多优秀的开源项目编写相关文档
  5. 评论模块将会考虑与其他博客系统相兼容,并且提供独立的控制台
  6. 邮件模块将会寓于交流模块之内,交流模块将会负责一切与交流相关的功能
  7. 友链模块我们会考虑将其可以作为一个独立的友链页面,并且支持主题定制
  8. 渲染模块我们会提供一个 Tiny markdown Server,推动更多的自定义语法渲染处理

这次更新的问题是什么?

  1. 1.x --> 2.x 预计会出现较多接口不兼容的情况,因此除核心外的生态需要全部重写
  2. 由于 2.x 使用微服务架构,因此文档部署需要全部重写,建议全部重新开始.
  3. 该版本的制作时间会大大增长,有可能需要到下一个假期才可基本完成.

此次的重构代号为:Odyssey.