这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天,今天补看了之前的课程。
分布式理论-现代架构基石
什么是分布式
分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。
优势:去中心化、低成本、弹性、资源共享、可靠性高
挑战:普遍的节点故障、不可靠的网络、异构的机器与软件环境、安全
Why-How-What
1、使用者视角:
Why:数据爆炸,对存储和计算有大规模运用的述求;成本低,构建在廉价服务器上
How:分布式框架;成熟的分布式系统
What:理清规模,负载、一致性要求等;明确稳定性要求,制定技术方案
2、学习者视角:
Why:后端开发必备技能;帮助理解后台服务器之间协作的机理
How:掌握分布式理论;了解一致性协议
What:把要点深入展开,针对难点搜索互联网资料进行学习;将所学知识运用于实践
常见的分布式系统
分布式存储
1、Google File System(GFS):Google分布式文件系统
2、Ceph:统一的分布式存储系统
3、Hadoop HDFS:基于GFS架构的开源分布式文件系统
4、Zookeeper:高可用的分布式数据管理与系统协调框架
分布式数据库
1、Google Spanner:Google可扩展的、全球分布式的数据库
2、TiDB:开源分布式关系型数据库
3、HBase:开源NoSQL数据库
4、MongoDB:文档数据库
分布式计算
1、Hadoop:基于MapReduce分布式计算框架
2、Spark:在Hadoop基础之上,使用内存来存储数据
3、YARN:分布式资源调度