社区
Java SE
帖子详情
分布式系统几种典型一致性算法简述
ansj
2013-01-04 03:44:45
svm
libsvm
java
ceshi
php
ruby
python
...全文
134
5
打赏
收藏
分布式系统几种典型一致性算法简述
svm libsvm java ceshi php ruby python
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
itopme
2013-03-27
打赏
举报
回复
分布式系统几种典型一致性算法简述 http://v.866618.com
Inosin_Wu
2013-03-27
打赏
举报
回复
简述在哪?这也太简了吧~
Hooopo
2013-03-27
打赏
举报
回复
好贴 收藏了!!!!!!!!
祝威廉
2013-03-27
打赏
举报
回复
我来啦,,,
go分布式mapreduce与raft
算法
与分布式数据库
掌握分布式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 使用一种共同一致的方法来处理集群成员变换的问
(转)
分布式系统
几种
典型
一致性
算法
简述
在
分布式系统
中,我们经常遇到多数据副本保持一致的问题,在我们所能找到的资料中该问题讲的很笼统,模模糊糊的,把多个问题或分类糅合在一起,难以理解。在思考和翻阅资料后,通俗地把
一致性
的问题可分解为2个问题: 1、任何一次修改保证数据
一致性
。 2、多次数据修改的
一致性
。 在弱
一致性
的
算法
,不要求每次修改的内容在修改后多副本的内容是一致的,对问题1的解决比较宽松,更多解决问题2,该类
算法
追求每次修改...
一致性
哈希
算法
及其在
分布式系统
中的应用
摘要 本文将会从实际应用场景出发,介绍
一致性
哈希
算法
(Consistent Hashing)及其在
分布式系统
中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍
一致性
哈希
算法
以及这个
算法
如何解决此问题;接下来会对这个
算法
进行相对详细的描述,并讨论一些如虚拟节点等与此
算法
应用相关的话题。 分布式缓存问题 假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大
分布式
算法
(
一致性
Hash
算法
)
总括: 0,随机发送,缺点:数据重复落到某个节点或数据无法命中 1,hash结果取余,缺点:机器增减要重新计算,缓存不命中,怼到DB 2,
一致性
hash
算法
,节点,圆环,缺点:节点少无法均匀分布 3,添加虚拟节点 一、分布式
算法
在做服务器负载均衡时候可供选择的负载均衡的
算法
有很多,包括: 轮循
算法
(Round Robin)、哈希
算法
(HASH)、最少连接
算法
(Least Co...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章