CBaquero / delta-enabled-crdts

Reference implementations of state-based CRDTs that offer deltas for all mutations.
Apache License 2.0
319 stars 36 forks source link

more detail question about production implment? #3

Closed netcomm closed 8 years ago

netcomm commented 9 years ago

first all thanks for share this approach to address some state-CRDTs problems,e.g. huge ORMap... i have read “http://gsd.di.uminho.pt/members/cbm/ps/delta-crdt-draft16may2014.pdf” this paper, it is somewhere to find a classic example? and have see your youtube's 'Designing for Partition Tolerance with CRDTs',what is the 'buffer' function? and when one delta msg is lost in network problem, because state-type CRDT is not care about network problem, it can send full state in the next time, what can be done in this situation? and in one scenario we have 3 replicas r_a/r_b/r_c. and now r_a occur update(u1) on one ORMap instance, what the interaction flow between r_a/b/c? thanks

CBaquero commented 8 years ago

In the paper we sketch a dissemination protocol among neighbor nodes that preserves causal consistency, and thus the equivalence to state based CRDTs. If you use TCP channels, first you send the full state and the only deltas and keep track of acks on the deltas successfully delivered. On network problems you can always send the full state again and repeat.

We are starting to work on serialization in proto buffers and towards a simple TCP based networking prototype with code following that design. Maybe in the next months we will have some code committed here on that part of the platform.