这是我参与「第五届青训营 」笔记创作活动的第9天
一、本堂课重点内容
本节课总共包括了六个方面的知识:
分布式概述
系统模型
理论基础
分布式事务
共识协议
分布式实践
在分布式系统的构建过程中,只有掌握了良好的分布式理论,才能设计出高效可靠的分布式系统。
二、详细知识点介绍
分布式系统是一种计算机系统,其中许多计算机协同工作,为用户提供服务。在分布式系统中,每个计算机都可以独立地运行并协作完成更大的任务。
分布式系统的优点:
可扩展性:当需要更多的处理能力时,可以通过增加计算机数量来扩展系统。
可靠性:如果一个计算机故障,分布式系统可以利用其他计算机继续运行,从而提高系统的可靠性。
可用性:分布式系统可以提供更高的可用性,因为如果一个计算机故障,另一个计算机可以继续提供服务。
但同时也面临挑战:
同步问题:在分布式系统中,各个计算机之间必须保持同步,以确保所有计算机都能协同工作。
数据一致性问题:在分布式系统中,各个计算机都可以独立地修改数据,从而导致数据一致性问题。
网络延迟:由于分布式系统中的计算机通过网络相互通信,网络延迟可能会对系统的性能产生负面影响。
等等...
三、实践练习例子
以分布式KV为例,是一种以键值对为存储数据的一种数据库,可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值,具有极高的并发读写的性能。
使用它,能够满足高性能,延迟低的特性。特别是对于大数据量,也能满足读写的性能要求。节点出现问题时,系统也能自身处理问题,无论集群怎么切换或者宕机,数据也能保证不丢失。
四、课后个人总结
一个分布式系统需要根据自己的应用场景来实现,根据业务需求进行调整。要不断积累分布式经验,总结实践中遇到的问题,才能优化性能和资源,降低成本提高效率。