Neo4j 图数据库应用开发与测试指南
1. 开发语言与垃圾回收监测
在开发基于 Neo4j 的应用时,若使用嵌入式 Neo4j,需采用基于 JVM 的语言。同时,在服务器扩展中可能会执行任意复杂且危险的操作,因此要监测垃圾回收行为,避免引入不良副作用。
2. Neo4j 集群策略
- 复制机制 :集群中的所有写入操作通过主节点协调,不过 Neo4j 也允许通过从节点写入。但从节点写入时,会先与主节点同步再返回给客户端,这会产生额外的网络流量和协调协议开销,导致写入速度比直接写入主节点慢一个数量级。如今,建议将所有写入操作导向主节点,然后通过
ha.tx_push_factor和ha.tx_push_strategy配置设置将数据复制到从节点。 - 队列缓冲写入 :在高写入负载场景下,可使用队列缓冲写入并调节负载。具体操作是将写入操作缓冲在队列中,由工作线程轮询队列并批量执行写入数据库的操作。这样不仅能调节写入流量,还能减少争用,且在维护期间可以暂停写入操作而不拒绝客户端请求。
- 全局集群 :对于面向全球用户的应用,可在多个数据中心和云平台(如 AWS)上部署多区域集群。该集群能让用户从地理上最接近的集群部分获取读取服务,但区域间的物理分离可能会引入延迟,影响协调协议。为解决此问题,可通过在实例配置中添加
ha.slave_coordinator_update_mode=none配置参数,创建仅作为从节点的数据库,限
超级会员免费看
订阅专栏 解锁全文
1344

被折叠的 条评论
为什么被折叠?



