条分缕析分布式:因果一致性和相对论时空


在上一篇文章《条分缕析分布式:浅析强弱一致性》中,我们重点讨论了顺序一致性、线性一致性和最终一致性这几个概念。本文我们将继续深入,详细探讨另一种一致性模型——因果一致性,并在这个过程中逐步逼近分布式系统最深层的事件排序的本质。沿着这个方向,如果我们走得稍微再远一点,就会触达我们所生活的这个宇宙的时空本质,以及因果律的本质(这才是真正有意思的地方,希望你能一口气读到最后)。

回到现实,《Designing Data-Intensive Applications》[1]一书的作者在他的书中提到,基于因果一致性构建分布式数据库系统,是未来一个非常有前景的研究方向。而且,估计很少有人注意到,我们经常使用的ZooKeeper,其实就在session维度上提供了因果一致性的保证[2]。理解「因果一致性」的概念,有助于我们对于分布式系统的认识更进一层。

阅读全文 »


条分缕析分布式:浅析强弱一致性


当前这篇文章至少比计划拖后了两个月。在上一篇文章《条分缕析分布式:到底什么是一致性?》中,我们仔细辨析了「一致性」相关的几个容易混淆的概念。而在本文中,我们会沿着逐步深入的思路,跟大家继续讨论顺序一致性、线性一致性、最终一致性等几个概念。

阅读全文 »


条分缕析分布式:到底什么是一致性?


凡是做服务器开发的技术同学,估计都对分布式系统以及相关的理论感兴趣。而对于分布式理论,大家讨论的最多的恐怕就是「分布式一致性」问题了。然而,不管是学术界还是业界的发展历史上,对于「一致性」这个概念的理解,始终充满了混乱。

阅读全文 »


由「精益创业」所想到的


前几天我做了一个内部分享,是关于「精益创业 (Lean Startup)」的。为什么要关心这样一门理论呢?因为它和我们每个人(包括技术人员)都息息相关。特别是作为一名技术人员,在平常埋头做事敲代码的某个时刻,你是否也停下来想过下面这些问题呢?

阅读全文 »


看得见的机器学习:零基础看懂神经网络


关于机器学习,有一个古老的笑话:

Machine learning is like highschool sex. Everyone says they do it, nobody really does, and no one knows what it actually is. [1]

翻译过来意思大概是:

机器学习就像高中生的性爱。每个人都说他们做了,但其实没有人真的做了,也没有人真正知道它到底是什么。

阅读全文 »


程序员眼中的「技术-艺术」光谱


当提到「艺术」这个词的时候,很多人头脑中首先浮现出来的,很可能是以梵高为代表的后印象派画作,也可能是文艺复兴时期米开朗基罗的雕像,或者是中国古代的诗词歌赋,甚至是玛雅文明的遗迹,诸如此类的东西。总之,我们平常所从事的技术工作——写代码、调试程序,这些都跟「艺术」毫不沾边。

阅读全文 »


在技术和业务中保持平衡


如果时间退回到十多年以前,新兴互联网公司的技术人员几乎都是从「业务开发」开始自己的职业生涯的。然而到了今天,不知道你有没有发现,业务开发和纯技术的开发已经有了明显的分野。

阅读全文 »


给普通人看的机器学习(一):优化理论


我们要想把一件事情做好,最首要的是有一个明确的目标。比如,很多公司都会给员工制定KPI (Key Performance Indicator),这就是为了给人们的工作指明方向和目标。这个目标不仅是明确的,而且很可能是量化的(即包含具体的数字指标)。

阅读全文 »