大众观点:分布式系统是“入门容易,深入难”。
分布式系统概念:
是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。
分布式系统架构图
当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,我们才需要考虑分布式系统。
分布式系统的几个特性:可扩展性、高性能、高可用、一致性。
这几个特性也是分布式系统的衡量指标,不可能同时满足,只有根据业务的需求这些特性间平衡,演变出不同的各种各样的算法、协议,来适应我们的业务需求。
分布式锁产生背景?
现如今大多数互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但是当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资源数据是一致的,这个时候我们需要用分布式锁来让多客户端互斥的对共享资源进行访问。
目前主流的有三种分布式锁,从实现的复杂度上来看,从上往下难度依次增加:
基于数据库实现
基于 Redis 实现
基于 ZooKeeper 实现
后续章节跟我一起学。