前言
笔者第一次听说“分布式”时是在大二的时候,当时觉得这个概念听上去很高大上,涉足其中的人肯定都是大神吧。对于分布式,笔者一方面对它的“声名”抱着“敬”的态度,另一方面又对实践它抱着“远之”的态度,原因很简单:畏惧未知。
但凡是有技术追求的程序猿,都应该有不甘于日夜CRUD的心,于是某天笔者开始涉足分布式,辗转数轮的学习后蓦然回首,决定以分布式理论为题,分享一波学习心得。
若非急于投入使用,笔者对每一项技术的学习都要从WWH(What(是啥)、Why(为啥)、How(咋搞))三方面去入手,了解概念及由来,学习技术理论知识才不枯燥,再了解用途,就能运用到工作中。
本系列文章并未打算从学术、专业的角度来解读分布式这个大家伙,这个系列的写作初衷首先是作为自己的学习记录(因此欢迎读者批评指正、相互交流),然后才是分享笔者的分布式学习心得,且力图在不误人子弟的基础上将复杂的知识简单化,降低后来学习者的学习门槛。
这是系列文章的第一篇,阐述笔者对分布式系统的概念以及为什么要用分布式系统的理解。
分布式系统是什么
分布式系统是一个硬件或软件组件分布在不同的计算机网络上,彼此之间只通过消息传递进行通信和协作的系统。这是分布式系统的学术定义。再者《分布式系统原理与范型》中对分布式系统的定义是:分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。
如此学术的定义对我们提升学习兴趣可没有帮助,所以我有以下大白话式理解&