这是我参与「第五届青训营 」伴学笔记创作活动的第7天
分布式概述
分布式系统是计算机程序的集合,利用多个独立计算的节点的计算资源来实现共同目标,一般分布式会涉及到分布式计算、分布式存储、分布式数据库等
1、优势:
去中心化、低成本、弹性好、资源共享和可靠性高等
2、挑战:
普遍的节点故障、不可靠的网络、异构的机器与硬件环境以及安全问题等
3、从使用者的视角看:
Why:
(1)数据爆炸,对于存储和计算的有大规模运用的述求
(2)成本低,构建在廉价的服务器之上
How:
(1)分布式框架
(2)成熟的分布式系统
What:
(1)理清规模,负载,一致性要求等
(2)明确稳定性要求,制定技术方案
4、从学习者的视角看:
Why:
(1)后端开发必备技能
(2)帮助理解后台服务器之间的协作的机理
How:
(1)掌握分布式理论
(2)了解一致性协议
What:
(1)把要点深入展开,针对难点搜索互联网资料进行学习
(2)将所学知识运用于实践
5、常见的分布式系统:
分布式存储:
(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:分布式资源调度