前言¶
一直在听说这个分布式、那个分布式,到底啥是分布式?
包括面试时也经常会被问到:懂不懂分布式呀?有没有开发过分布式系统呀?分布式算法了解过没有?既然分布式这么重要,作为一个程序员,我觉得有必要好好学习一下。
这部分学习我打算先从分布式协议和算法学起。
分布式算法是分布式技术中的核心¶
如果一个人想真正搞懂分布式技术,开发出一个分布式系统,最先需要掌握的就是这部分知识。
举个例子,学数学的时候,我们总是会学到很多公式或者定理,我上学的时候,还觉得这些定理枯燥至极。但后来我明白了,这些定理和公式其实就是前人花了很长时间思考、验证、总结出来的规律,如果我们能在这之上做事情,更容易快速地找到正确答案。
因为分布式系统里,最重要的事情,就是如何选择或设计适合的算法,解决一致性和可用性相关的问题了。
方法得当,知识并不难学¶
为了更好的理解分布式,不仅要理解常用算法的原理、特点和局限,还要能根据场景特点选择适合的分布式算法。
所以我将从理论学起,深入协议和算法,最后做些实战训练。