我在AWS基础架构上使用Titan v1.0.0并希望支持故障转移/容错。 AWS将负责DynamoDb存储后端,但似乎有必要为(ELB)负载均衡器提供服务的几个titan实例。
我正在使用nodeJs库来访问gremlin,使用gremlin来访问Titan。
那么,Titan(非后端存储)群集如何工作?如果有的话。
要清楚,我不是在谈论任何后端存储集群,因为我在AWS上使用dynamoDb。关于transaction locking的文档告诉我,必须存在一个泰坦集群,因为其他泰坦节点在没有某种相互通信的情况下不会知道锁定。但我没有看到任何支持此功能的配置选项。
如果可以在titan上进行群集,是否有人有关于如何在生产高可用性设置中进行此设置的任何信息?
服务器端架构的说明:
[NodeJsA]\ /[TitanA]\
\ / \
[ELB (AWS)] [DynamoDb (AWS)]
/ \ /
[NodeJsB]/ \[TitanB]/
此外,如果没有聚类的泰坦节点,那么通过TitanA节点(上面)进行的更改可能需要在TitanB节点上显示以下时间量(最坏情况):
(AWS最终一致性收敛时间(~1秒)+ TitanB缓存超时+从NodeJs节点到titanDB的轮询时间)
缺乏聚类的另一个结果是会话将固定在ELB中,否则读取请求在更新后可能由具有陈旧信息的其他节点提供服务。
答案 0 :(得分:2)
Titan没有做任何"聚类"在所选后端支持的范围之外。你提到"锁定"作为表示支持群集的东西,但是如果你读到该链接中的锁定提供程序,那么你提供给你的是,锁定并不是真的在Titan级别做任何非常奇特的事情并且它是后端的依赖。因此,Titan实例确实没有任何外部集群功能或彼此的知识。因此,您需要考虑到您的架构。