从Paxos到NOPaxos 重新理解分布式共识算法(consensus)

2018-03-01
阅读 8 分钟
4k
首先标题有点哗众取宠之嫌,但是暂时想不到更加合适的标题,就姑且这么使用吧。分布式共识算法一直是一个热门的研究话题,之所以要分布式共识,无外乎就是单点服务容易宕机,异常,出错,从而导致系统不可用,于是就有了备份容错的机制,那么一份数据多地(location)存储,如果不发生修改操作那就无需一致性协议的引入,...

理解paxos协议-分布式共识算法(consensus)

2017-11-04
阅读 5 分钟
4.4k
本文的目的是一步步讲解paxos如何是如何推断和完备的。首先要了解,分布式一致性(consistency)和分布式共识(consensus)并不是一个东西来的,然而网上大部分的人都直接把分布式共识翻译为分布式一致性,导致像paxos,raft这样的算法被误认一致性算法,并拿来跟2pc,3pc做比较,这是不对的。之前我也一直存在疑惑,有...

JStorm源码分析系列--02--拓扑分配TopologyAssign

2017-04-16
阅读 26 分钟
5.2k
写在前面的话,笔者第一次阅读框架源码,所以可能有些地方理解错误或者没有详细解释,如果在阅读过程发现错误很欢迎在文章下面评论指出。文章后续会陆续更新,可以关注或者收藏,转发请先私信我,谢谢。对了,笔者看的是2.2.1这个版本。上一篇博客,JStorm源码分析系列--01--Nimbus启动分析笔者讲解了Nimbus启动过程中做...

JStorm源码分析系列--01--Nimbus启动分析

2017-04-11
阅读 7 分钟
5.1k
写在前面的话,笔者第一次阅读框架源码,所以可能有些地方理解错误或者没有详细解释,如果在阅读过程发现错误很欢迎在文章下面评论指出。文章后续会陆续更新,可以关注或者收藏,转发请先私信我,谢谢。对了,笔者看的是2.2.1这个版本

java类的加载过程

2017-03-28
阅读 4 分钟
2.4k
这个时候如果调用SubClass.name,是根本不会触发SubClass初始化的(这里是因为name是一个常量,和下面的例子不一样,如果这里把final去掉,是会触发Subclass的初始化的,因为对于静态字段而言,如果静态字段被引用,就会调用getstatic指令和putstatic指令,那么自然就会引发类的初始化,详情看下面关于触发类初始化的五种...

自定义类加载器-从.class和.jar中读取

2017-03-13
阅读 7 分钟
13.2k
JVM中的类加载器:在jvm中,存在两种类加载器,a) Boostrap ClassLoader:这个是由c++实现的,所以在方法区并没有Class对象的实例存在。用于加载JAVA_HOME/bin目录下的jar包

Spring自动注入的简单实现

2017-03-08
阅读 4 分钟
5.1k
用过Spring的同学都知道,Spring利用注解来实现依赖注入,使得各个类之间的耦合性极大的降低了。但是仅仅是使用,并不能理解到Spring内部是怎么实现的。笔者没有看过Spring的源码。只能从自己的角度来谈谈Spring是怎么实现的。感兴趣的同学可以在看过本文之后,深入的了解Spring.  很多时候,我们都有这样的应用场景。比...