自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Raft系列文章之三:Raft RPC详解

上一篇文章提到, Raft核心部分只需要用到2个RPC: RequestVote和AppendEntries, 本文将介绍这两个RPC的格式和作用。RequestVote RPC是由candidate发送给其他节点,请求其他节点为自己投票,如果一个candidate获得了多数节点的投票,则该candidate转变为Leader。AppendEntries RPC是由Leader节点发送给其他节点,有两个作用,当其entries域为空时,该RPC作为Leader的心跳,当entries域不为空时,请求其他节

2014-12-13 13:10:33 4931

原创 Raft系列文章之二:Leader选举

Raft首先会选举出一个唯一的Leader, Leader负责管理日志,所用对日志的添加和状态变化操作都通过Leader完成。Leader接受用户的日志请求并将日志分发给系统中其他节点。并告知其他节点何时可以安全地将日志应用到状态机上。这种方式简化了多副本日志的管理,日志的数据流向是从Leader到其他节点,而其他节点不会发送日志给Leader。Leader当掉时,Raft会选出一个新的Leader。本文介绍Leader选举过程。

2014-12-07 23:54:05 6884 2

原创 Raft系列文章之一: 什么是Raft?

简单的说,Raft是一种易于理解的一致性算法,其功能相当于Paxos。目前很多提供一致性服务的系统都采用Paxos, 例如Chubby, ZooKeeper, 那么为何还需要Raft?自Lamport 1998年提出Paxos以来, 该协议虽逐渐成为主流一致性协议,但也以难以理解而著名,实现起来比较困难,而Raft 设计的主要目的之一就是容易理解,Raft将整个算法过程分解为若干个独立的子过程,并且详细描述了每个子过程如何实现,容易理解和实现。 博主自己也基于Java语言实现了Raft, 代码位于 http

2014-12-07 17:14:50 5802 1

原创 Windows环境下搭建HBase源码开发环境

本文介绍了如何在Windows环境下搭建HBase源码开发及调试环境,用于查看,分析,开发,提交HBase源码。

2014-12-07 15:18:05 4777

原创 使用JUnit测试Java类的私有方法

Java项目开发过程中,有时需要测试类的私有方法,而私有方法不能直接调用,但可以利用反射机制来进行调用,下面是一个例子: @Test public void testGetElectionTimeout() throws Exception { int confTimeout = conf1.getInt("raft.election.timeout"); Me

2014-12-01 12:05:17 1462

原创 常用Git命令

博主在使用Git进行开发时常用的命令

2014-12-01 11:28:52 466

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除