--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.
Thanks Michael, once again, for a swift answer!
When you say "make sure yourself writes are going to the leader", does that mean that the "core servers" in the cluster are not all equivalent, but there is always a leader in the core group – similarly to the "master" in the HA setting – and others in the core group are "followers"? And I can't write to any of the core group servers, even though in the 3.1 blog posts they are depicted in the diagrams as all being read/write, but instead have to find the leader and write to it?
If that is the case, then I'll continue with my HA setup.
But if you mean that all core servers are "leaders" and I just have to make sure I'm not writing to the read replicates, then that's ok, and very much understandable. I can start of with just using 3-5 core servers – and utilize read replicates if need be in the future with a custom load balancing – but being able to write and read to and from any of them without any performance penalties, is a big bonus. (Compared to the HA setting, where I had to jump quite a few hoops to avoid writing to master.)
In embedded mode, I have been using neo4j.properties for HA settings. Can I just configure these:
http://neo4j.com/docs/operations-manual/3.1-beta/deployment/causal-cluster/settings-summary/
settings in neo4j.properties in place of HA settings? Another thing is that to be able to know if a server has successfully become part of the core servers, I would need to find that out from some Java class. Are there Cause Cluster equivalents for the "HighlyAvailableGraphDatabase.getInstanceState" method I'm using now?
--
Timo
On Tuesday, December 6, 2016 at 10:46:32 AM UTC+2, Michael Hunger wrote:Hi,as I learned yesterday you can use (with the correct configs) causal cluster in embedded but currently have to make sure yourself that the writes are going to the leader, there is no auto-routing. It's not an officially suggested mode of operations.The recommendation from the team is to only use read-replicas in embedded mode and run a regular core-cluster as neo4j server.If you can make sure all your writes go to the leader always then it should also be possible (imho) to run all instances embedded.Please try it out and let us know.MichaelOn Mon, Dec 5, 2016 at 8:26 PM, Timo Tiuraniemi <timo.ti...@gmail.com> wrote:Hi,--
I have previously successfully set up a Neo4j HA cluster using embedded Neo4j. While it does work nicely, I could simplify things a lot if I could switch to causal clustering. The problem is that in the documentation for the new 3.1, there is no mention of embedded use with causal cluster, and furthermore, the Java driver is claimed to be responsible for consistency.
So to clarify: Is it possible to setup causal clustering using embedded Neo4j directly from my Java server, without any use of Cypher and without a Java driver? Or are you deliberately trying to remove embedded Neo4j use?
Cheers,
Timo
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscribe@googlegroups.com.
I have previously successfully set up a Neo4j HA cluster using embedded Neo4j. While it does work nicely, I could simplify things a lot if I could switch to causal clustering. The problem is that in the documentation for the new 3.1, there is no mention of embedded use with causal cluster, and furthermore, the Java driver is claimed to be responsible for consistency.
So to clarify: Is it possible to setup causal clustering using embedded Neo4j directly from my Java server, without any use of Cypher and without a Java driver? Or are you deliberately trying to remove embedded Neo4j use?
Neo4j is always embeddable - it is even delivered in its component jars to help facilitate that. However when we have control over the running process (as we do in server mode) lots of things become easier to code (because we don't have to second-guess how an embedded app is behaving). Sometimes this means we can get features out more quickly for server-based systems (as was the case for causal clustering). I don't think this means we're deprecating embedded mode, but it's wrong for us to hold back a good quality server release waiting for the additional embedded code to be written.
Checking up on this: HA is being deprecated for 4.0 but there's still no embedded causal clustering. Are you planning on just forgetting about embedded users?