What is Neo4j
It is an open source property graph database. It is implemented in Java. It is stores data structured in graphs. Graph based model makes it highly agile and fast. It is massively scalable, up to several billion nodes and highly available when it is distributed across multiple nodes. It can be easily embedded by including the Neo4j library jars in your build.
In high availability mode, it has single master and zero or more slaves. It’s high availability feature can handle write requests on all machines so there is no need to redirect those to the master particularly. A slave can handle writes by synchronizing with the master to maintain consistency. All updates propagate from the master to other slaves in due course so a write from one slave may not be immediately visible on all other slaves.