Neo4j Casual Clustering benfits over High-Availability Clustering

前端 未结 3 1247
野趣味
野趣味 2021-01-22 07:54

We are in the process of migrating HA cluster to Causal Clustering.

Is there any real advantage of migrating from HA Clustering to Causal Clustering?

相关标签:
3条回答
  • 2021-01-22 08:16

    To me, 3 CORE instances is the minimun Then 3 ReadReplicas seems a minimum.

    If you already have HA working, can you precise why moving to causal clustering ?

    0 讨论(0)
  • 2021-01-22 08:19

    Causal cluster is the new generation of Neo4j cluster, and it will continue to evolve with new releases.

    There are many advantages for CC comparing to HA :

    • no branch data (thanks to raft and consensus commit)
    • more stability
    • smart driver with bolt protocol (with LB and read your own write functionnality)
    • cluster communication encryption
    • ...

    You need at minima 3 core nodes to create a cluster (2n+1 in fact where n is the number of failure you want to support).

    I really recommend you to use the bolt protocol instead of the REST API, because official drivers only use bolt, and they can hide to you the complexity of a cluster.

    0 讨论(0)
  • 2021-01-22 08:19

    HA Clustering is deprecated in Neo4j 3.5 and will be removed in Neo4j 4.0.

    The functionality described in this section (HA Clustering) has been deprecated and will be removed in Neo4j 4.0. Causal Clustering should be used instead.

    Source: https://neo4j.com/docs/operations-manual/current/ha-cluster/architecture/

    https://neo4j.com/docs/operations-manual/current/clustering/

    Neo4j (Enterprise Only) Causal Clustering provides three main features:

    Safety: Core Servers provide a fault tolerant platform for transaction processing which will remain available while a simple majority of those Core Servers are functioning.

    Scale: Read Replicas provide a massively scalable platform for graph queries that enables very large graph workloads to be executed in a widely distributed topology.

    Causal consistency: when invoked, a client application is guaranteed to read at least its own writes. Together, this allows the end-user system to be fully functional and both read and write to the database in the event of multiple hardware and network failures and makes reasoning about database interactions straightforward.

    Source: https://neo4j.com/docs/operations-manual/current/clustering/introduction/

    0 讨论(0)
提交回复
热议问题