如果我理解正确,则多个gremlin服务器之间不会相互通信。刻度仅在cassandra / ES中。
如果是这样,那么每个gremlin服务器可以支持多少个顶点?
当一个gremlin服务器更新图形时,其他gremlin服务器何时会看到该更改?
谢谢!
答案 0 :(得分:2)
支持的顶点数为500万亿(2 ^ 59)
存储后端是多个Gremlin服务器之间的唯一状态源。添加其他Gremlin服务器不会增加顶点数量。
JanusGraph手册的Technical Limitations Page中概述了顶点数量的限制。
当一台Gremlin Server看到另一台服务器所做的更改时,由存储后端选择决定,但是回答仍然很棘手
就其他Gremlin服务器何时会看到更改而言,要回答这个问题有些棘手。如果您使用一致的数据后端,那么答案通常是在Gremlin一旦完成交易。
但是卡桑德拉是另一种野兽。
使用最终一致的存储后端
Cassandra是所谓的最终一致数据库。这意味着它将交易一致性换成可用性和分区容限;即使您开始丢失群集中的节点,它也将继续运行并处理请求。
不利之处在于,Cassandra中的突变不会立即为消费者所用;您甚至可能遇到这样的情况:客户端将更改写入Cassandra,而如果同一客户端立即尝试读取该数据,则该客户端将看不到更改。
Chapter 31 in the JanusGraph Manual涵盖了处理最终一致的存储后端(如Cassandra)。
实际上,从突变到所有客户端都能看到Cassandra中的突变之间的时间量完全取决于数据负载,写入的性质以及JanusGraph配置为读取和读取的读取/写入一致性级别。用写信给卡桑德拉。