这只是我自己学习时的部分理解,逻辑会比较混乱,所以如果是因为标题啥的进来的,建议去看别人写的博客:点击打开链接
我读了之后觉得这是挺好的一篇博客,我写的理解就不要看了,只是笔记而已,太丢人了.
不过想要理解paxos,最起码应该先去了解paxos的需求场景,为什么要使用paxos;如果遇到了这种场景,并且不知道paxos,你会怎么解决?
这个算法为很多分布式场景提供了解决方案.比如集群环境的请求分发.
客户端发送一个请求,这时,调度中心会询问手下所有的服务器,谁来处理这个请求.那么服务器就会根据分配策略将自己处理这个请求的优势计算成数字id,然后调度中心就可以根据id的大小来分配哪台服务器来处理这个请求了???????但还是没太理解.这个场景的解决策略是这样???不太合理,毕竟每接收到一个请求,就需要询问下所有的服务器,那么调度中心就没有存在的意义了.毕竟按照这个策略,服务器其实自己就可以自动的处理请求了.但是,这种处理方式还是太麻烦,毕竟每次接受到请求都需要所有的服务器参与...如果使用调度中心,那么调度中心接收到请求的时候自动根据分配策略计算手下存活的服务器,然后分配请求到具体的服务器执行.这样更简单...
额,其实如果换个场景,它可以在不知道谁能完成的情况下,选出执行人.比如老师在课堂上出了一道题.如果老师直接指定一个人,那么这个人很可能不知道答案.于是,他问,,,知道答案的请举手,,,,于是知道答案的就举手了.然后考试成绩第五的说.我考试成绩第五,我先答,,,但考试成绩第一的说,我第一,我来答,,,,如果这是以考试成绩为答题依据的话,很明显,考第一的会得到这个答题机会...
在遇到这些场景的时候,根据策略计算出自身优势转换成可见的数字id来比较谁的优势更大,然后广播给所有人,如果没人能超过这个id,那么他就可以获得这个解决机会了