第七日后端青训营 | 青训营笔记

62 阅读2分钟

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

本节课主要针对分布式理论进行了初步讲解,让人明白它如何成为现代架构的基石。

分布式事务

在分布式系统中一次操作需要由多个服务协同完成,这种由不同的服务之间通过网络协同完成的事务称为分布式事务。

两阶段提交:

两阶段提交,将事务的提交过程分为资源准备和资源提交两个阶段,并且由事务协调者来协调所有事务参与者,如果准备阶段所有事务参与者都预留资源成功,则进行第二阶段的资源提交,否则事务协调者回滚资源。

三阶段提交:

三阶段提交协议,是二阶段提交协议的改进版本,三阶段提交有两个改动点:(1)在协调者和参与者中都引入超时机制;(2)在第一阶段和第二阶段中插入一个准备阶段,保证了在最后提交阶段之前各参与节点的状态是一致的。

MVCC:

MVCC是多版本并发控制 Multi-Version Concurrent Contrl。它是MySQL中的提高性能的一种方式,配合Undo log 和版本链,替代锁,让不同事物的读-写、写-读操作可以并发的执行,从而提升系统的性能。

共识协议

共识协议就是要让多个节点共同决定一个东西,这个东西可以是一个数字,可以是一个决定(yes or no),也可以是指令(字符串表示)。

分布式实践

MapReduce 编程模型开发简单且功能强大,专门为并行处理大规模数据量而设计。MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用”的核心框架。

MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。

一个完整的 MapReduce 程序在分布式运行时有三类实例进程:

(1)MrAppMaster:负责整个程序的过程调度及状态协调。

(2)MapTask:负责 Map 阶段的整个数据处理流程。

(3)ReduceTask:负责 Reduce 阶段的整个数据处理流程。

总结

本节课主要针对分布式进行了初步了解,关于一些新的知识点还需要继续学习与理解,它的课后问题都要仔细解读并记忆。