搜狐首页 科技 无心法师2

手机搜狐

SOHU.COM

我所读过的最好的一篇分布式技术文章

前言

这是一篇学习笔记。

学习的材料来自JayKreps的一篇讲Log的博文。

原文很长,但是我坚持看完了,收获颇多,也深深为Jay哥的技术能力、架构能力和对于分布式系统的理解之深刻所折服。同时也因为某些理解和Jay哥观点吻合而略沾沾自喜。

Jay Kreps是前Linkedin的Principal Staff Engineer,现任Confluent公司的联合创始人和CEO,Kafka和Samza的主要作者。

所谓笔记,就是看了文章,提笔就记,因为Jay哥本身本章组织的太好,而其本身的科学素养及哲学素养也很高,所以私以为出彩的东西就不省略了。

一、资料来源

The Log: What every software engineer should know about real-time data’s unifying abstraction(http://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying)

二、笔记

2.1 Log的价值

1) Log是如下系统的核心:

2) Log可能跟计算机的历史一样长,并且是分布式数据系统和实时计算系统的核心。

3) Log的名字很多:

4) 不理解Log,你就不可能充分理解

2.2 什么是Log?

2.2.1 概述

记录的顺序定义了这样的一个概念:时间。

因为越靠左的记录越早。

Entry的序号可以当作一种时间戳,将记录的顺序当作时间这一概念看起来很奇怪,但是很快你就会发现,这样做:可以方便地将“时间”与任一特定的物理时钟解耦。

Log和常见的文件、表(table)没有那么大的差别。

精选