• xingoo
    2019-09-27
    集中式没啥想法,分布式可以采用大多数投票而不是全部投票,令牌环可以为每个节点增加轮值权重,比如不常访问的两轮才轮一次。

    传统的单机互斥靠加锁或者信号量,其实跟集中式差不多
     7
     45
  • 青莲
    2019-09-28
    集中式算法:可参照redis集群通信模式,通过hash key将大量的请求分散到不同的master,以处理大量请求,每个master由小集群主从节点来保障单点故障
    分布式算法:分布式算法可在集群中过半数同意就识为其同意,降低通信数,如分布式选举场景
    令牌环算法:可根据参与者使用频率列出权重,结合平滑加权轮询算法选出下一个参与者

    传统单机上的互斥只能针对单台机器上的程序相互间通信,而分布式环境往往是多台服务器上的程序相互通信
    展开

    作者回复:

    从你的回复,可以看出你很爱学习和思考,对开源软件进行了学习和总结👍

     5
     34
  • 汉超
    2019-09-29
    精通不但要有理论还要有丰富的实践,仅34节课怎么才能做到精通?

    作者回复: 首先,不积跬步无以至千里,不积小流无以成江海!

    另外,教是为了不教,本专栏的一个目的也是希望通过划重点、寻路线、建体系帮助大家培养学习及运用知识的能力。

    我们要解决的问题无穷无尽,唯有学习及运用的能力才是以不变应万变的不二法门。

     1
     6
  • aoe
    2019-10-07
    令牌环如果应用于生产环境,需要解决下面的问题:
    1. 服务1、2、3、4组成一个令牌环
    2. 令牌环开始传递,顺序为1 -> 2 -> 3 -> 4 -> 1(循环)
     ☹异常情景:
    3. 当令牌传递到2时,2宕机了,此时令牌无法继续传递下去
    4. 当令牌传递到2时,2、3之间的网络中断了,但3和其他服务的网络都正常,此时令牌无法继续传递下去
    展开
     2
     4
  • 丁乐洪
    2019-10-11
    老师,能举些例子或开源实现吗?很想了解一下现有的实现的例子,多谢了
    集中式算法:
    分布式算法:
    令牌环算法:
    
     2
  • 静水流深
    2019-10-11
    老师,您好!看到开篇,想到一个问题,请您解惑。
    既然是分布式互斥,是不是就意味着有分布式锁。但是在分布式环境下,对于共享资源的修改,是否可以用CAS机制来更新?就意味着不需要分布式锁了吧?如果没有更新某个数据的场景,只是为了同步或者互斥不同服务器上的线程,此时才会用到分布式的一些算法吧?
    还有就是,对于区块链的去中心化的技术,也会用到这些分布式算法吗?
    谢谢老师!
    
     2
  • 青铜5 周群力
    2019-09-29
    ……则会同时产生 2n(n-1) 条消息。总结来说,在大型系统中使用分布式算法,消息数量会随着需要访问临界资源的程序数量呈指数级增加
    ——————
    这里应该是平方级增长吧 消息复杂度O(N^2)
    
     2
  • 石维康
    2019-09-27
    传统单机上的互斥方法,为什么不能用于分布式环境呢?
    因为在分布式场景下,很难保证操作的原子性
    
     2
  • Geek_04d7ba
    2019-09-27
    为啥现在流行的分布式锁的实现比如zookeeper,redis都是用的集中式方法?是不是就是因为实现难度低?
     2
     2
  • 啦啦啦
    2019-09-27
    不错不错

    作者回复: 谢谢!宝剑赠英雄,红粉增佳人!

    
     2
  • 张理查rootv
    2019-12-22
    分布式技术原理与算法#Day4
    就像昨天说的,分布式协作就是让分布式看起来不那么分布式。先来看看分布式互斥和分布式锁吧。
    分布式互斥就是排他性访问资源的方式,这种资源叫Critical Resource。那么如何排他性地访问资源呢?我们设想一个场景,就是办公室里只有一个厕所,而人有三急,大家都有上厕所的资源占用需求。
    首先是集中式算法,就是叫号上厕所,厕所门口站着一个海底捞的叫号员,想上厕所就去叫号员那里叫号,要是没人用直接进,否则拿一个号,叫号员看用完了会通知你,然后你再上,上完了告诉叫号员我ok了你再叫其他人吧。这就有几个问题,一是要是整个办公室的人都要上厕所,叫号员忙不过来,二是叫号员要是挂掉了,就上不了了,因此叫号员技术要过硬,性能好,身体素质要高,可靠性好。
    然后是分布式算法,就是挨个问一下其他人上不上,如果大家都说不上再上,这个问题就是上个厕所要问n-1个人,要是大家都上,一来一回就有2n*(n-1)次通信。这也有两个问题,一是n过大的话会产生信令风暴,二是要是有个同事不在了,你还要接着等丫回信,大家都憋死了。解决方案就是人走了就不等他回复了。这是一个先到先得和全票通过的算法。
    令牌环算法是击鼓传花式上厕所,花按照一定顺序走到谁那里谁决定现在去不去厕所,不去就传给下一个崽。但如果下一个崽不在就要传给下下一个,所以每个人都要牢记这个顺序环。但这种效率比较低,要是大家都不上厕所,令牌还要传下去,而且每一轮都要等待n次传递。
    能够看出上述三种方案都满足不了办公室人太多的场景,大型分布式场景中的两层结构分布式令牌算法,就是小环套大环,局部令牌在小环传递,全局令牌在大环中流转
    展开
    
     1
  • 2018
    2019-11-21
    对于集中式算法,协调者容易引发单点故障的问题,想请问下老师,协调者程序如果用集群的方式话,可以规避这种问题嘛?

    作者回复: 协调者采用集群方式相当于做了备份,提升了系统可靠性,但在正常工作时,只有一个master节点提供服务,无法避免瓶颈问题。

    
     1
  • Hy
    2019-10-30
    令牌算法早就被用在操作系统中了,才不是什么华为独创。。思路都一样
     1
     1
  • Eternal
    2019-10-21
    老师今天讲了三种算法,集中式,民主协商,令牌环。前面两种熟悉一点,令牌环这种第一次听说,学到了。

    老师的第一个问题:集中式的缺点是单点,那我们可以解决单点,所以把单点变成多点,节点之间通过民主协商的方式来通信,节点之间互相备份来化解单点,zk是这样,euraka类似,
    
     1
  • 格非
    2019-10-17
    “Hadoop 是我们非常熟悉的分布式系统,分布式文件系统 HDFS 的文件修改就是一个典型的应用分布式算法的场景”,这句话不够准确哦,HDFS上的文件支持追加写,但是不支持修改的,遵循的是”一次写入多次读取“的数据访问模式
    
     1
  • 阿卡牛
    2019-10-12
    CAP的相关内容会在哪一课中讲

    作者回复: CAP的相关内容会在分布式数据存储“CAP理论:这顶帽子我不想要”中介绍,请继续学习哟

     1
     1
  • 北冥有鱼
    2019-09-29
    老师总结的很好,言简意赅,很精彩。
    期待更新

    作者回复: 谢谢!宝剑赠英雄,红粉赠佳人!

    
     1
  • Damon
    2019-09-27
    讲的挺好的,形象生动

    作者回复: 谢谢!宝剑赠英雄,红粉赠佳人!

    
     1
  • ashen
    2019-09-27
    集中式算法可以考虑把协调节点做成集群,参与者通过资源做一致性hash找对应的协调节点,这样可以一定程度解决单点问题。
    
     1
  • 张宏飞
    2020-02-04
    分布式互斥,采用全部同意的方式存在阻塞的可能性,可以采用超过半数投票的方式,同时也可以设置权重的方式,满足不同的场景需求;单机的模式的话还是老师讲的采用主备方式,提高可靠性;临牌环的方式,如果每个节点都记录其他节点的信息的话,可以设置每个节点的优先级,按优先级传递令牌不知道可以吗?
    
    
我们在线,来聊聊吧