摘要:看下用户注册StateMachine的过程, MapStateMachine::new这会构造一个supplier 在build中,传入初始化ServerContext ServerContext中, reset逻辑中, 这里看到stateContext的定义, 也是一个单线程,所以这里有两个thr
阅读全文
摘要:Copycat server之间的configure是如何,何时被同步的? 大家可以看到,只有leader可以同步配置 1. 显式的调用LeaderState.configure LeaderState.configure /** * Commits the given configuration. */ protected CompletableFutu...
阅读全文
摘要:对于Command,Configuration都要通过appendEntries的方式,把Entries同步给follower LeaderState.configure /** * Commits the given configuration. */ protected CompletableFuture configure(Collection members) { ...
阅读全文
摘要:Member.Status status的变迁是源于heartbeat heartbeat,append空的entries heartbeat的逻辑是会向所有的getRemoteMemberStates,发起heartbeat AVAILABLE 在初始化的时候,每个ServerMember默认是S
阅读全文
摘要:client.submit(new PutCommand("foo", "Hello world!")); ServerContextconnection.handler(CommandRequest.class, request -> state.command(request)); State.command ReserveState开始,会把command forward到leade...
阅读全文
摘要:Server被拉起有两种方式, Address address = new Address("123.456.789.0", 5000); CopycatServer.Builder builder = CopycatServer.builder(address); builder.withStateMachine(MapStateMachine::new); 自己拉起一个cluster, ...
阅读全文
摘要:Copycat’s primary role is as a framework for building highly consistent, fault-tolerant replicated state machines. Copycat servers receive state machi
阅读全文
摘要:https://github.com/atomix/copycat http://atomix.io/copycat/docs/membership/ 为了便于实现,Copycat把member分成3种, active, passive, and reserve members — each of which play some role in supporting rapid ...
阅读全文
摘要:Kudu White Paper http://www.cloudera.com/documentation/betas/kudu/0-5-0/topics/kudu_resources.html http://getkudu.io/overview.html Kudu is a new stora
阅读全文
摘要:http://www.blogjava.net/czihong/archive/2012/02/18/370250.html, Schema Design for MongoDB http://docs.mongodb.org/manual/core/data-modeling/, Data Modeling Considerations for MongoDB Applications ...
阅读全文
摘要:论文 Megastore: Providing Scalable, Highly Available Storage for Interactive Services http://blog.sciencenet.cn/blog-449420-444736.html 1. INTRODUCTION Interactive online services are forcing ...
阅读全文
摘要:Distributed Algorithms in NoSQL Databases, http://highlyscalable.wordpress.com/2012/09/18/distributed-algorithms-in-nosql-databases/ NOSQL Patterns, http://horicky.blogspot.com/2009/11/nosql-patterns...
阅读全文
摘要:Why Vector Clock are Easy or Hard? Amazon's Dynamo, 4.4版本化的数据 常用的版本化技术 Timestamps seem to be an obvious solution for developing a chronological order. However, timestamps “rely on synchronized c...
阅读全文
摘要:A brief history of Consensus_ 2PC and Transaction Commit (译) 对于一致性问题很好的综述 Time Clocks and the Ordering of Events in a Distributed System(译) --Leslie Lamport 偏序和全序 Lamport的“Time, Clocks and th...
阅读全文
摘要:The Part-Time Parliament,Lamport,1998,ACM Transactions on Computer Systems. 晦涩的原文 http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf Paxos Made Simple http://www.cs.utexas...
阅读全文
摘要:http://horicky.blogspot.com/2009/11/nosql-patterns.html A brief history of Consensus_ 2PC and Transaction Commit (译) 对于一致性问题很好的综述 2 Phase Commit(译) Master Slave (or Single Master)Model Under t...
阅读全文
摘要:http://highlyscalable.wordpress.com/2012/09/18/distributed-algorithms-in-nosql-databases/, Distributed Algorithms in NoSQL Databases http://www.cnblogs.com/chen77716/archive/2011/03/24/2130798.html...
阅读全文
摘要:http://the-paper-trail.org/blog/columnar-storage/ You’re going to hear a lot about columnar storage formats in the next few months, as a variety of distributed execution engines are beginning to c...
阅读全文
摘要:HBase vs. BigTable Comparison http://www.larsgeorge.com/2009/11/hbase-vs-bigtable-comparison.html HBase is an open-source implementation of the Google BigTable architecture. That part is fairly eas...
阅读全文
摘要:主要参考, http://highlyscalable.wordpress.com/2012/09/18/distributed-algorithms-in-nosql-databases/, Distributed Algorithms in NoSQL Databases Data Consistency It is well known and fairly obvious...
阅读全文