概述
本文介紹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部署成集羣。
有關如何部署集羣和具體的安裝過程,後面的文章再繼續講述。