本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2018年05月07日 统计字数: 1162字 阅读时间: 3分钟阅读 本文链接: https://soulteary.com/2018/05/07/refactor-and-recent.html ----- # 网站架构简化 上次[更新网站架构](http://soulteary.com/2017/06/28/welcome-to-hugo.html) 是17年6月的事情了,如果你对 `SSG` 选型感兴趣,可以看看。 ## 为什么做调整 在使用纯粹 `Markdown` 格式文档来替换动态程序+富文本模式后,实际维护体验还是很棒的: TLDR; - 继续使用**容器化装箱**交付方式,但是数据完全抽离,容器无状态。 - 网站之间的**隔离性**更好了,使用数据安全性也更好了。 - 技术栈减少,趋同,**维护成本降低**。 ## 具体变化 - 简化掉 `WordPress + HHVM + MySQL` - 首先可以规避掉许多安全升级问题和性能问题; - 其次文章数据源趋于一致,未来可以更好的进行分析和处理、以及方便对接各种其他的系统(如果想玩的话); - 再者数据同步、站点重建也变的简单起来; - 最后对机器资源的需求也降低了不少。 - 数据应用分离,进一步简化 `Docker` 镜像 - 原本在不使用外部镜像仓库的情况下,镜像同步依赖导出tarball,等同带着系统完全更新,数据分离之后,基础镜像环境只在第一次进行同步,数据使用 `多 remote origin 进行同步`; - 更新速度变的更加的快速,尤其避免了频繁改动时,大量数据跨地区机房进行同步的问题。 - 添加 `traefik` 作为服务发现网关 - 本地开发调整变的十分容易,可以完美模拟外网应用服务; - 服务器不再需要 `hard code` 代码,不需要使用多套编排策略来应对国内外主机上运行不同网站的情况; - 除了更新网站证书外,添加删除网站时,不需要再重启 `Gateway`; - 相比之前可以更加容易地进行弹性扩展。 - 配合 `DataBridge` 工具使用 - 原来 `WordPress` 有价值的路由、标签、页面、媒体进行了全面的兼容; - 编写使用纯粹无 `Meta Data` 的 `Markdown`文件,描述代码的时候,使用简单的代码标签,呈现时却能使用定制的代码高亮插件,并且支持用户查看编写时的 `Markdown` 文件; - 大量文档存在的时候,支持使用日期文件夹进行分类管理,大幅提升可维护性(试想一个文件夹里有很多篇文章,某团队技术博客就是这么维护的)。 - 相对完善的日期归档生成。 ## 接下来的计划 - 挑选外网使用的`代码仓库+轻量CI`方案,维护更新更进一步。 - 之前有使用lua做过一个 `openresty` 的 `Web Hook`,如果找不到合适的方案,配合 `docker-compose` 也可以用一阵。 - 全部搞定之后,就可以去除 `GH私仓`的服务依赖了。 - 对数据进行细节处理。 - 让数据更安全,可用性更高。 - 博客历史技术文章去水。 - `DataBridge` 优化,后续可以考虑开源,为想简化网站架构的同学提供一些思路。 先写到这里,后面想到什么再更新吧。 --EOF