|
|
|
|
|
by yid
3941 days ago
|
|
> It requires zero maintenance and runs on your own infrastructure. I don't understand how these two claims are not contradictory. > All conflict resolution happens locally in each peer using a deterministic algorithm. How exactly does this happen? Via CRDTs? Consensus? How do you handle conflicts? I'm very skeptical about this sort of largely content-free copy fronting what should be a pretty complicated distributed system. |
|
If you do not want to even run your own app servers, I'm more then happy to let you use my free GUN backend so that way you do not even have to worry about that.
Consensus? Absolutely not. I definitely need to add more documentation and resources on this - in fact I'm doing a talk on how my conflict resolution algorithm works out in Berlin in a few weeks. Check the conference out at: https://2015.distributed-matters.org/ber/ . After that I should have much better materials on this available for people.
Briefly and naively, the way it works is a Vector Clock + Timestamp combo. Timestamps have bad exploits, and Vector Clocks don't work well in ephemeral environments. If you combine the two together they compensate for the vulnerabilities of the other. Every peer acts as a state machine operating inside of an open-closed boundary function (nothing fancy here, this is the same stuff you learned in middle/highschool). This does NOT give you Global Consistency, as different peers might have slightly different boundaries because of clock drift (you can use a separate service to minimize this), but they will all become Eventually Consistent.
This helpful? Any other questions?