go分布式mapreduce与raft算法与分布式数据库 分布式系统与mapreduce day11复习

go分布式mapreduce与raft算法与分布式数据库
共70节 194人在学 课程详情
课程目录
讨论留言
  • 分布式系统与mapreduce

    • day11复习
    • 分布式介绍之基本概念(1)
    • 分布式介绍之基本概念(2)
    • 分布式核心要点
    • 分布式存储之HDFS架构说明
    • HDFS读写流程简述
    • 其它分布式业务分类说明
    • 分布式技术实现与组件框架
    • mapReduce需求分析
    • mapReduce流程伪码分析
    • mapReduce-test分析实现
    • mapReduce-schedule实现分析
    • doMap和doReduce函数调用分析
    • doMap函数实现
    • doReduce函数实现
    • 测试
  • mapreduce与任务调度

    • day12复习
    • mapReduce多任务测试与分析
    • mapReduce最终结果文件合并
    • master与worker通信分析
    • master RPC实现分析
    • worker注册与信息传递实现
    • 调度函数实现(1)
    • 调度函数实现(2)
    • worker结构与DoTask实现
    • worker注册与清理实现
    • 测试代码编写
    • mapReduce作业布置与源lab说明
  • raft与选举

    • raft基本介绍之选举原理
    • raft动图详解
    • raft论文分析(1)
    • raft论文分析(2)
    • raft lab分析
    • raft基本结构实现
    • raft 结构属性初始化函数实现
    • 选举启动与投票相关结构参数分析
    • 发起投票选举函数实现(1)
    • 选举投票实现
    • 发起心跳机制
    • 处理投票请求实现与选举测试
    • 日志复制分析之Raft结构修改
    • 重置nextindex与matchindex
    • 实现client到leader的命令提交
    • 实现日志复制的请求与响应结构
    • 发起日志复制请求逻辑实现(1)
  • raft分布式一致性与redis

    • day14复习
    • raft日志复制响应处理实现
    • raft日志复制之编号冲突处理(1)
    • raft日志复制之编号冲突处理(2)
    • raft日志应用逻辑处理
    • raft日志复制请求处理逻辑分析
    • raft日志复制请求处理实现(1)
    • raft日志复制请求处理实现(2)
    • raft日志复制索引更新函数
    • 日志复制一致性协议bug调试
    • 日志复制一致性协议bug说明与修正
    • raft一致性状态持久化操作实现
    • go语言后端开发面试分析
    • redis常见问题分析
    • redis高级
    • mysql常见问题(1)
  • mysql与CAP

    • day15复习
    • mysql事务说明
    • mysql分片说明
    • mysql锁机制说明
    • 常见缓存淘汰策略
    • 一致性哈希原理说明
    • CAP与BASE简述
    • 分布式事务与分布式锁

反馈

播放页问题反馈
视频学习中有任何产品建议都可由此反
馈,我们将及时处理!

课时介绍

Gd.1.1 day11复习

课程介绍

掌握分布式mapreduce与raft算法与分布式数据库

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:

1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。

2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。

3)MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理

Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如leader人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。从一个用户研究的结果可以证明,对于学生而言,Raft 算法比 Paxos 算法更加容易学习。Raft 算法还包括一个新的机制来允许集群成员的动态改变,它利用重叠的大多数来保证安全性。

 

一致性算法允许一组机器像一个整体一样工作,即使其中一些机器出现故障也能够继续工作下去。正因为如此,一致性算法在构建可信赖的大规模软件系统中扮演着重要的角色。在过去的 10 年里,Paxos 算法统治着一致性算法这一领域:绝大多数的实现都是基于 Paxos 或者受其影响。同时 Paxos 也成为了教学领域里讲解一致性问题时的示例。

 

但是不幸的是,尽管有很多工作都在尝试降低它的复杂性,但是 Paxos 算法依然十分难以理解。并且,Paxos 自身的算法结构需要进行大幅的修改才能够应用到实际的系统中。这些都导致了工业界和学术界都对 Paxos 算法感到十分头疼。

 

和 Paxos 算法进行过努力之后,我们开始寻找一种新的一致性算法,可以为构建实际的系统和教学提供更好的基础。我们的做法是不寻常的,我们的首要目标是可理解性:我们是否可以在实际系统中定义一个一致性算法,并且能够比 Paxos 算法以一种更加容易的方式来学习。此外,我们希望该算法方便系统构建者的直觉的发展。不仅一个算法能够工作很重要,而且能够显而易见的知道为什么能工作也很重要。

 

Raft 一致性算法就是这些工作的结果。在设计 Raft 算法的时候,我们使用一些特别的技巧来提升它的可理解性,包括算法分解(Raft 主要被分成了leader人选举,日志复制和安全三个模块)和减少状态机的状态(相对于 Paxos,Raft 减少了非确定性和服务器互相处于非一致性的方式)。一份针对两所大学 43 个学生的研究表明 Raft 明显比 Paxos 算法更加容易理解。在这些学生同时学习了这两种算法之后,和 Paxos 比起来,其中 33 个学生能够回答有关于 Raft 的问题。

 

Raft 算法在许多方面和现有的一致性算法都很相似(主要是 Oki 和 Liskov 的 Viewstamped Replication),但是它也有一些独特的特性:

 

强leader:和其他一致性算法相比,Raft 使用一种更强的leader能力形式。比如,日志条目只从leader发送给其他的服务器。这种方式简化了对复制日志的管理并且使得 Raft 算法更加易于理解。

leader选举:Raft 算法使用一个随机计时器来选举leader。这种方式只是在任何一致性算法都必须实现的心跳机制上增加了一点机制。在解决冲突的时候会更加简单快捷。

成员关系调整:Raft 使用一种共同一致的方法来处理集群成员变换的问

推荐课程

信息系统项目管理师自考笔记

李明 · 721人在学

python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

王先生 · 22091人在学

手把手搭建Java超市管理系统【附源码】(毕设)

汤小洋 · 4203人在学

Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

黄菊华 · 787人在学

基于SSM酒店管理系统(毕设)

小尼老师 · 841人在学

java项目实战之购物商城(java毕业设计)

Long · 5153人在学

手把手搭建Java求职招聘系统【附源码】(毕设)

汤小洋 · 1506人在学

Python Django 深度学习 小程序

钟翔 · 2319人在学

城管局门前三包管理系统+微信小程序(vue+springboot)

赖国荣 · 598人在学

Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

李杰 · 3985人在学

正在试验
后自动删除环境
课程实验
本次实验时间已到期 00:00:00

    订阅失败

    go分布式mapreduce与raft算法与分布式数据库
    go分布式mapreduce与raft算法与分布式数据库 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    课件正在飞速打包中,请耐心等待几秒钟~
    联系我们
    工作时间: 8:30 - 22:00
    客服电话: 400-660-0108
    kefu@csdn.net在线客服
    • 关于我们
    • 招贤纳士
    • 商务合作
    • 寻求报道
    • 京ICP备19004658号
    • 经营性网站备案信息
    • 公安备案号11010502030143
    • 营业执照
    • 北京互联网违法和不良信息举报中心
    • 家长监护
    • 中国互联网举报中心
    • 网络110报警服务
    • Chrome商店下载
    • 账号管理规范
    • 版权与免责声明
    • 版权申诉
    • 出版物许可证
    • ©1999-2024北京创新乐知网络技术有限公司

    视频问题反馈

    提交遇到的问题我们会尽快解决的 ~