A couple of people are leaning towards a zookeeper master / slave system for this to solve notifications but we are still faced with how to quickly have another node take over a failed nodes jobs.


Practical quick suggestions.

- RIAK has a mode where it can operate in "highly consistent" mode. This is a 2 phase commit which should give you guaranteed consistency (probably you can use the ordinary mode if you are careful)
- Kafka is a very fast messaging/log service with ordered commits
- You can use zookeeper to implement something (probably just elect leaders and run your own database, re-elect if something falls over) - There are a few Raft and the odd Paxos implementation in Erlang/Elixir. This would be extremely interesting to see fixed up and develop an Erlang Zookeeper alike... - Possibly PhoenixPresence is robust enough for your needs. I believe you would currently need to look carefully at it's partition tolerance? I think it has none... It keeps running if nodes become partitioned and I believe the research is on using CRDTs to achieve eventual consistency (when the split is healed). I guess you could look at adding features to enforce certain levels of consistency over the top of that as your needs require?

Good luck

Ed W

--
You received this message because you are subscribed to the Google Groups 
"elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-talk/ae80ddea-8cd3-64bc-cdf6-18c494640d46%40wildgooses.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to