高可用部署架构(MASTER-SLAVE)
支持一个master节点,多个slave节点,每个节点都保存一份全量数据;
读写操作直接到master节点,master节点会同步数据到slave节点;同步策略采用乐观预估,即client端写到master之后,master直接返回client并告知操作成功,然后master会同步数据到slave,同步成功还是失败都不会影响当次事务结果。
支持failover策略,当master节点挂了之后,所有的slave节点会参与选举,选出新的master节点,具体选举策略:
1.选区commitID最大的一个slave节点作为新的master节点;
2.如果最大commitID有多个,则选区server_id最小的slave作为新的master。
集群可用性判断策略:2n+1
官方文档:https://neo4j.com/docs/operations-manual/3.1/clustering/high-availability/architecture/
HAProxy
- 如果想实现读写分离,需要自己搭建load balancer;
- 利用HAProxy实现读写分离,官方文档:https://neo4j.com/docs/operations-manual/3.1/clustering/high-availability/haproxy/
- 目测该方式只支持通过reset api方式访问,对于其他方式支部支持待调研~