JanusGraph實戰-使用模式說明

概述

本文介紹JanusGraph的使用模式和基本的配置。

JanusGraph的兩種使用方式

JanusGraph有兩使用模式:

  • 把JanusGraph作爲依賴包嵌入到應用中。
  • JanusGraph作爲服務運行。

在實際情況下,常用的運行模式是:以服務的方式運行janusGraph,把JanusGraph Server組成集羣運行。

在應用程序中嵌入

JanusGraphFactory可用於從基於JVM的用戶應用程序中打開嵌入式JanusGraph圖形實例。在這種情況下,JanusGraph是用戶應用程序的一部分,應用程序可以通過其公共API直接調用JanusGraph。

如果先前已配置JanusGraph圖集羣和/或僅需要定義存儲後端,則JanusGraphFactory接受存儲後端名稱和主機名或目錄的以冒號分隔的字符串表示形式。

簡單的代碼如下圖所示:

graph = JanusGraphFactory.open('cql:localhost')
或
graph = JanusGraphFactory.open('berkeleyje:/tmp/graph')

以JanusGraph Server的方式運行

對於JanusGraph服務器,JanusGraph使用Apache TinkerPop棧的Gremlin Server來爲客戶端請求提供服務。JanusGraph提供了一個開箱即用的配置,可以快速啓動JanusGraph Server,但可以更改配置以提供更廣泛的服務器功能。

配置JanusGraph Server是通過位於JanusGraph發行版的./conf/gremlin-server目錄中的JanusGraph Server.yaml配置文件完成的。要使用圖形實例(JanusGraph)配置JanusGraph Server,JanusGraph Server配置文件需要以下設置:
樣例配置文件的內容如下:

...
graphs: {
  graph: conf/janusgraph-berkeleyje.properties
}
scriptEngines: {
  gremlin-groovy: {
    plugins: { org.janusgraph.graphdb.tinkerpop.plugin.JanusGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
               org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}}}}
...

圖表條目定義了與特定JanusGraph配置的綁定。在上面的例子中,它將圖形綁定到conf/ janusgraph-berkeleyje.properties上的JanusGraph配置。插件列表啓用了JanusGraph Gremlin插件,該插件支持自動導入JanusGraph類,以便可以在遠程提交的腳本中引用它們。

該配置文件中的graph參數,是對圖的後臺存儲和保存索引的外部存儲系統的配置文件。

總結

本文講述了JanusGraph的兩種使用方式,在實際環境中,一般會把JanusGraph當做服務節點進行部署和使用。當數據量很大時,一般會把JanusGraph部署成集羣。

有關如何部署集羣和具體的安裝過程,後面的文章再繼續講述。

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章