JanusGraph部署方案

部署方案

JanusGraph提供了广泛的存储和索引后端选择,使其部署方式具有极大的灵活性。本章提供了一些可能的部署场景,以帮助解决这种灵活性带来的复杂性。

在讨论不同的部署场景之前,了解JanusGraph本身和后端的角色非常重要。第一,应用程序仅与JanusGraph直接通信,主要通过发送Gremlin循环来执行。JanusGraph然后与配置好的后端进行通信,以执行所接收的遍历。当JanusGraph以JanusGraph服务器的形式使用时,没有比主JanusGraph服务器更好的了。因此,应用程序可以连接到任何JanusGraph服务器实例。它们还可以使用负载均衡器将请求调度到不同的实例。JanusGraph服务器实例本身并不直接相互通信,因此当需要处理更多的遍历时,可以很容易地对其进行扩展。

Note:本章提供的场景仅为如何部署JanusGraph的示例。每个部署需要考虑具体的使用案例和生产需求。

入门场景

大多数用户在刚开始使用JanusGraph时可能都会选择这种场景。它提供可扩展性和故障容限,所需的服务器数量最少。JanusGraph服务器与存储后端的一个实例一起运行,还可以选择在每台服务器上运行一个索引后端的实例。

在这里插入图片描述

这样的设置可以通过简单地添加更多同类服务器或将其中一个组件移动到专用服务器来扩展。后者描述了将部署转换为高级场景的增长路径。

任何可扩展存储后端均可用于此场景。然而,请注意,对于“Scylla”而言,当其与本场景中的其他服务位于同一位置时,需要进行一些配置。当应在此场景中使用索引后端时,其也需要为可扩展。

高级场景

高级场景是入门场景的演进。它们不再与存储后端(也可以选择与索引后端)一起托管JanusGraph服务器实例,而是在不同的服务器上分开。在不同的服务器上托管不同的组件(JanusGraph服务器、存储/索引后端)的优点是它们可以独立地进行扩展和管理。这提供了更高的灵活性,但需要维护更多的服务器。

在这里插入图片描述

由于此场景提供不同组件的独立可扩展性,因此使用可扩展后端当然最为合理。

极简主义场景

也可以仅在一台服务器上同时托管JanusGraph服务器和后端。这对于测试目的特别有吸引力,例如JanusGraph仅支持一个应用程序,该应用程序随后也可以在同一台服务器上运行。

在这里插入图片描述

与之前的场景相反,对于不可扩展的场景,使用后端最为合理。内存中后端可用于测试目的,伯克利DB可用于生产,Lucene可作为可选的索引后端。

嵌入式JanusGraph

除了从应用程序连接到JanusGraph服务器,还可以将JanusGraph作为库嵌入到基于JVM的应用程序中。虽然这减少了管理开销,但不可能独立于应用程序扩展JanusGraph。嵌入式JanusGraph可以作为任何其他场景的变种部署。JanusGraph只是从服务器直接移动到应用程序中,因为它现在只是用作一个库,而不是一个独立的服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值