分布式体系结构之非集中式结构

非集中式结构核心协议:Gossip协议

原理

每个节点周期性的才能够自己维护的集群节点列表中随机选择k个节点,将自己存储的信息发送给这k个节点,接收到该信息的节点,采用分布式共识原则,对收到的数据和本地数据进行合并,经过几个迭代周期之后,集群中所有节点的数据信息就一致了。

优点

扩展性,可容错,去中心化,一致性收敛,简单

重复消息问题的优化

每个节点记录当前传输消息且还未到达收敛市已经发送给了哪些节点,然后每次从没有发送过的节点列表中选择k个节点

非集中式结构典型案例

原文地址:https://www.cnblogs.com/battlescars/p/decentralized_structure.html

时间: 2024-11-14 12:56:28

分布式体系结构之非集中式结构的相关文章

分布式体系结构之集中式结构

集中式结构的概念 由一台或者多台服务器组成中央服务器,多个节点服务器与中央服务器连接.由中央服务器同一进行资源和任务调度.节点服务器之间无需通信和协作,只需要与中央服务器通信协作即可. 集中式结构经典举例 Google Borg Kubernetes Mesos 总结对比 原文地址:https://www.cnblogs.com/battlescars/p/centralized_architecture.html

分布式系统互斥算法---非集中式算法

集中式算法存在单点失效问题,那么我们接着来看一下非集中式算法. 假设共享资源副本被复制了n次,每个副本有其自身协作者控制访问:如果某个进程要访问共享资源,主要获得m>n/2个协作者投票允许即可. 如图1所示,如果进程0要发起访问请求,只要8个协作者中有5个(包括其自身)投票允许即可. 图1 但是该算法也有自身的缺陷,即当某个协作者崩溃时,它将忘记之前投过的票,可能在回复后又投了重复的票给其他请求者:比如已经允许了p进程访问共享资源,之后该协作者重置了,又允许了q进程去访问共享资源,此时可能会出现

集中式(CVS、SVN)VS分布式(Git)

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊. 那分布式版本控制系统与集中式版

集中式vs分布式

Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,

git与svn 集中式与分布式

集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网

何为集中式版本控制系统与分布式版本控制系统?

什么是集中式版本控制系统与分布式版本控制系统? 集中式版本控制系统:版本库是集中放在中央服务器的,当我们实际工作的时候,用的都是自己的电脑,所以首先要连接中央服务器,从那里得到最新的版本,然后编写或者更改代码,干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就很郁闷了.     分布式版本控制系统:对于搞过大数据(Hadoop)或者大型数据库的朋友,对"分布式"这个概念一定很熟悉了

Git_集中式vs分布式

创建版本库 时光机穿梭 版本回退 工作区和暂存区 管理修改 撤销修改 删除文件 远程仓库 添加远程库 从远程库克隆 分支管理 创建与合并分支 解决冲突 分支管理策略 Bug分支 Feature分支 多人协作 标签管理 创建标签 操作标签 使用GitHub 自定义Git 忽略特殊文件 配置别名 搭建Git服务器 期末总结 关于作者 集中式vs分布式 2750次阅读 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先

集中式和分布式版本控制系统的区别

SVN 是集中式的版本控制系统,而 Git 是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网

从集中式到分布式

前言 随着计算机系统规模变得越来越大,将所有业务单元集中部署在一个或者若干个大型机 上的体系结构物,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷.同时,随着微型计算机的出 现,越来越多廉价的PC机成为了各大IT企业架构的首选,分布式的处理方式越来越受到业界的青睐----计算机系统正在经历一场前所未有的从集中式到分布 式架构的变革. 从集中式到分布式 自从20世纪60年代大型主机被发明出来以后,凭借其超强的计算和I/O处理能力 以及在稳定性和