[ go语言学习day8| 青训营笔记]

78 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8天

分布式理论

分布式概述

-什么是分布式 -Why-How-What 常见的分布式系统

分布式事务

两阶段提交 三阶段提交 MVCC

系统模型

-故障模型 拜占庭将军问题 共识和一致性 -时间和事件顺序

共识协议

-Quorum NWR模型 -RAFT协议 -Paxos协议

理论基础

-CAP理论 ACID理论 BASE理论

分布式实践

  • MapReduce -分布式KV o什么是分布式 分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节 点的计算资源来实现共同的目标。可以分为分布式计算、分布式存 储、分布式数据库等。 优势: 挑战: 1.去中心化 1.普遍的节点故障 2.低成本 2.不可靠的网络 3.弹性 3.异构的机器与硬件环境 4.资源共享 4.安全 5.可靠性高

Why-How-What

使用者视角: Why: 1.数据爆炸,对存储和计算有大规模运用的述求 2.成本低,构建在廉价服务器之上 How: 1.分布式框架 2.成熟的分布式系统 What : 1.理清规模,负载,一致性要求等 2.明确稳定性要求,制定技术方案 学习者视角: Why: 1.后端开发必备技能 2.帮助理解后台服务器之间协作的机理 How: 1.掌握分布式理论 2.了解一致性协议 What: 1.把要点深入展开,针对难点搜索互联网资料 2.将所学知识运用于实践 常见的分布式系统 1.Google File System(GFS):google分布式文件系统 分布式存储 2.Ceph:统一的分布式存储系统 3.Hadoop HDFS:基于GFS架构的开源分布式文件系统 4.Zookeeper:高可用的分布式数据管理与系统协调框架 1.Google Spanner:google可扩用的 球分布式的数据库。 分布式数据库 2.TiDB:开源分布式关系型数据库 3.HBase:开源Nosq数据库 4.MongoDB:文档数据库 分布式计算 1.Hadoop:基于MapReduce分布式计算框架 2.Spark:在Hadoop基础之上,使用内存来存储数据 3.YARN:分布式资源调度