Paxos算法学习笔记

学习了1个多月,现在回头看,觉得要理解paxos算法,需要阅读下面三篇论文: The part-time parliament [英文] [中文] Paxos Made Simple [英文] [翻译] Paxos Made Code [英文] 前两篇更多的是理论,第三篇介绍了pa...

2012-09-24 20:12:05

阅读数 5581

评论数 1

软件人员推荐书目

软件人员推荐书目(一) 大师篇 一、 科学哲学和管理哲学 【1】 "程序开发心理学"(The Psychology of Computer Programming : Silver Anniversary Edition)  【2】 "系统化思维导论...

2012-03-06 08:24:04

阅读数 1137

评论数 1

记一次排查mbstowcs误用引发的bug

运行

2014-04-22 19:03:02

阅读数 851

评论数 0

log4j未写日志排错

log4j.properties是否放在 src/main/resources目录下, mvn install之后会放到jar包中. http://stackoverflow.com/questions/5132389/if-using-maven-usually-you-put-log4j-pr...

2013-11-24 11:24:38

阅读数 1793

评论数 0

ZooKeeper源码阅读(六):JUTE

JUTE是跨语言序列化/反序列化工具,类似Thrift 用于产生java/c版本的消息类

2013-10-09 10:33:52

阅读数 5768

评论数 0

ZooKeeper源码阅读(五):Leader选举

ZooKeeper中的Leader选举也不是Paxos, 实现相关的类包括FastLeaderElection, LeaderElection. FastLeaderElection: Leader选举初始投票选自己,收到别人的投票之后判断是否更优,如果是则更新自己的投票,最终zxid最大的fo...

2013-10-09 10:15:21

阅读数 2422

评论数 0

ZooKeeper源码阅读(四):选举后过程

Zookeeper选出Leader后,在对外提供服务之前,需要对Follower的状态进行同步。我想搞清这个过程,以及zookeeper解决之前提到的两个问题的细节: 1) Never forget delivered messages Leader在COMMIT投递到任何一台follower之前...

2013-09-26 11:31:04

阅读数 3259

评论数 0

Storm源码阅读(三):Thrift

Thrift指南:http://diwakergupta.github.io/thrift-missing-guide/ Defining Services service Twitter {     // A method definition looks like C code. It h...

2013-08-14 19:50:27

阅读数 2688

评论数 0

Storm源码阅读(二):客户端

Clojure Clojure指南http://java.ociweb.com/mark/clojure/article.html   Eclipse插件Counterclockwise Eclipse提供了专门的Clojure 语言开发插件CounterClockwise,在源代码编辑,...

2013-08-14 15:37:34

阅读数 4622

评论数 0

Storm源码阅读(一):使用

Storm项目主页http://storm-project.net/,github主页https://github.com/nathanmarz/storm   storm源码是clojure和java的混合体   安装JRE Clojure 运行在 JRE (JAVA Runtime Envir...

2013-08-14 13:01:53

阅读数 23119

评论数 4

ZooKeeper源码阅读(三):服务器端

服务端入口:org.apache.zookeeper.server.QuorumPeerMain.main (调用ZooKeeperServerMain.main)   运行参数:配置文件 如:QuorumPeerMain /opt/zookeeper/zookeeper-3.4.3/bin/.....

2013-08-08 16:03:27

阅读数 5866

评论数 2

ZooKeeper源码阅读(二):客户端

源代码: http://svn.apache.org/repos/asf/zookeeper/trunk/   导入eclipse: 在包含build.xml目录下执行ant eclipse将产生.classpath文件   目录结构: src/recipes:提供了各种Zookeeper应用...

2013-07-23 12:43:22

阅读数 5376

评论数 0

ZooKeeper源码阅读(一):ZAB协议

A simple totally ordered broadcast protocol   causal relationship指的是同一个发送者发送的两个消息,或者leader改变前发送的消息和改变后发送的消息。   怎么保证casual order? 当重选Leader时,前一个Leader...

2013-07-14 18:49:26

阅读数 19116

评论数 2

Gaea源码阅读(五):C客户端

除了Java客户端外,Gaea还提供了C语言和.NET实现。 基本都是相同的,只是序列化/反序列化用C语言重新实现了。遵循相同的格式,

2013-07-05 11:17:24

阅读数 1044

评论数 0

Github搭建静态博客

Jekyll是一个ruby工具,可以根据静态文本搭建网站。   Github Pages功能的后端引擎就是jekyll,因此只要你的项目包含了jekyll配置,就可以在Github上免费建立博客。   jekyll 通过ruby安装工具gem安装 sudo apt-get install...

2013-07-01 14:51:54

阅读数 2633

评论数 0

Gaea源码阅读(四):服务端通讯

在(三)中加载server时,将根据配置建立tcp/http/telnet服务。如demo中这三个服务中enable了tcp和telnet。   以tcp服务为例,实现类在gaea.server.tcp.implement中配置 gaea.server.tcp.implement com...

2013-06-24 17:33:48

阅读数 1398

评论数 0

Gaea源码阅读(三):服务端启动流程

相对于客户端,服务器端工作就比较多了。服务器端需要load jar包,利用fliter实现方法级的权限控制 // load service config logger.info("load service config..."); ServiceConfig ...

2013-06-24 16:34:34

阅读数 1667

评论数 0

Gaea源码阅读(二):客户端流程

以GaeaClientTest为入口 GaeaInit.init("conf/gaea.config"); /** * 调用URL 格式:tcp://服务名//接口实现类 * 备注: * 服务名:需要与gaea.config中的服务名一一对应 ...

2013-06-21 17:58:45

阅读数 1839

评论数 0

Gaea源码阅读(一):使用

Gaea:58同城开源的中间层服务框架 https://github.com/58code/Gaea 中间件 Gaea是支持跨平台具有高并发、高性能、高可靠性,并提供异步、多协议、事件驱动的中间层服务框架。相对于其它重量级的中间件,比如淘宝的dubbo,Gaea只做一件事,因此没有过多...

2013-06-21 17:23:48

阅读数 4720

评论数 0

Argo源码阅读(六):ArgoDispatcher

回到最顶层的调用ArgoFilter.init(),Argo.init()初始化了ArgoDispatcher,ArgoFilter初始化完毕。   ArgoFilter.doFilter实现过滤功能 @Override public void doFilter(Serv...

2013-05-27 18:53:45

阅读数 2129

评论数 0

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