simplicity is prerequisite for reliability

做分布式系统的人都知道大名鼎鼎的 CAP 定理,这个定理仿佛一个巨大的枷锁,套在了每一个分布式系统的开发者身上。前些日子我实现了一个 AP 的分布式系统,也就是说发生网络分区(P)的时候,系统会自动分裂成两部分各自独立工作,而不是像 ZooKeeper 或者 etcd 这种 CP 系统在网络分区之后少数派降级不工作。

为了验证系统在网络分区时的行为是否符合预期,我需要做个故障模拟,在本地搭建一个 Linux 集群,然后用 iptables 丢弃指定来源的包人工制造出网络分区的效果。

Read More...

前些日子我对 Grav Admin 的访问速度感到很不满意,经常打开 Dashboard 页面就给我来个 504 Gateway Timeout,不得不再刷新一次才能正常访问;甚至有一次我在编辑页面写了一大段文字之后,保存失败导致内容丢失,后来尝试再写也没法补全丢失的内容。这份不愉快让我萌生了寻找一个更厉害的博客引擎的念头。

但是基本上 Grav 已经是 2016 年最棒的开源 CMS 了,也就是说综合各个方面因素,没有什么比它更好的 CMS 可供选择。失望之余不免产生想要亲自动手造一个轮子,但是考虑到我已经废弃了原本就不怎么突出的前端能力,如今的我已经对实现一个靠谱的博客后台力不从心,这些冲动最终也只是想想而已。

Read More...

许久之前我分享了一个在 Hexo 博客中制作照片流的方法,至今这个照片流已经成为了我的博客中更新最频繁的页面,承载着我对那些曾经浪费我生命的美好事物的回忆,一开始是书籍和动漫、电影等影视作品,如今还多了个游戏,毕竟游戏继电影之后,也被归为艺术之列,号称「第九艺术」。

我对照片流这个功能是如此的喜爱,以至于我将博客从 Hexo 迁移到 Grav 之后,之前为 Hexo 开发的几个插件都被我放弃了,唯一一个被我移植到 Grav 上的,就是照片流。当然也有一部分原因是移植照片流的工作十分简单,以至于我只需要借助 Twig 模板的宏定义功能就能轻松搞定。

Read More...