Embedded usage

This section describes how to embed a Neo4j Causal Cluster in your application.

For users coming to Causal Clustering from Neo4j HA embedded, there are a small number of changes required. The Neo4j routing driver is used for routing and load balancing queries in server deployments (other setups are possible with 3rd party load balancers).

The driver also handles bookmarks, which are essential for causal consistency, and as such is a fundamental part of the Causal Clustering architecture. In an embedded deployment the driver can be used either for routing queries externally from another application into the embedded cluster, or using an embedded driver internally within the cluster.

The workload must be comprised, in its entirety, of Cypher statements. If your workload depends on the Java Core API for writing, then you have to package those pieces as procedures which are (remotely) invoked using Cypher, via the driver. Read-only queries can still access the Core API directly.

For a detailed tutorial on how to embed Neo4j in your Java application, see Neo4j Java Reference → Including Neo4j in your project.