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 的重构
这次更新有什么新功能或者优势?
- 2.x 版本将会内置后台,无需额外部署,也不应额外部署,这会增加更多的在意料之外的维护成本
- 2.x 使用微服务架构,扩展性对比单一服务高了很多,且一个微服务的异常不会导致其它微服务同时异常,增强稳定性
- 评论模块、邮件模块、友链模块、渲染模块将会独立为一个单独服务
- 我们对文档进行了重写,重新使用了 Vitepress,并且参照了许多优秀的开源项目编写相关文档
- 评论模块将会考虑与其他博客系统相兼容,并且提供独立的控制台
- 邮件模块将会寓于交流模块之内,交流模块将会负责一切与交流相关的功能
- 友链模块我们会考虑将其可以作为一个独立的友链页面,并且支持主题定制
- 渲染模块我们会提供一个 Tiny markdown Server,推动更多的自定义语法渲染处理
这次更新的问题是什么?
- 1.x --> 2.x 预计会出现较多接口不兼容的情况,因此除核心外的生态需要全部重写
- 由于 2.x 使用微服务架构,因此文档部署需要全部重写,建议全部重新开始.
- 该版本的制作时间会大大增长,有可能需要到下一个假期才可基本完成.
此次的重构代号为:Odyssey.