在分布式模式下通过Rest调用OrientDB保存到正确的集群

在分布式模式下通过Rest调用OrientDB保存到正确的集群,rest,orientdb,Rest,Orientdb,我正在将数据保存到OrientDB到特定群集。像这样 CREATE VERTEX <Class> CLUSTER <Cluster> SET ect... 然后,我通过REST调用查询特定集群以获取数据。这在独立模式下可以正常工作,但在分布式模式下不行,因为我可能试图将数据保存到不是该集群所有者的节点。是否有一种方法可以自动将REST调用发送到正确的节点 如果没有,如何查询数据库以查看哪些节点拥有单个集群,以便编写一些逻辑将请求发送到正确的节点 我在分布式2.2.13上

我正在将数据保存到OrientDB到特定群集。像这样

CREATE VERTEX <Class> CLUSTER <Cluster> SET ect...
然后,我通过REST调用查询特定集群以获取数据。这在独立模式下可以正常工作,但在分布式模式下不行,因为我可能试图将数据保存到不是该集群所有者的节点。是否有一种方法可以自动将REST调用发送到正确的节点

如果没有,如何查询数据库以查看哪些节点拥有单个集群,以便编写一些逻辑将请求发送到正确的节点


我在分布式2.2.13上使用OrientDB 2.2.0,有2个节点,我已将类的群集选择策略更改为默认值;然后可以创建顶点 orientdb {db=GratefulDeadConcerts}> alter class written_by CLUSTERSELECTION default orientdb {db=GratefulDeadConcerts}> select name,defaultClusterId,clusterIds,clusterSelection from ( select expand(classes) from metadata:schema ) where clusterSelection="default" “查询”也适用于邮递员

localhost:2480/command/GratefulDeadConcerts/sql/select name,defaultClusterId,clusterIds,clusterSelection from ( select expand(classes) from metadata:schema ) where clusterSelection="default" localhost:2481/command/GratefulDeadConcerts/sql/select name,defaultClusterId,clusterIds,clusterSelection from ( select expand(classes) from metadata:schema ) where clusterSelection="default" 请看一看关于类的集群策略的文档

例如:

orientdb {db=GratefulDeadConcerts}> CREATE CLASS V1 EXTENDS V Class created successfully. Total classes in database now: 14. orientdb {db=GratefulDeadConcerts}> select name,defaultClusterId,clusterIds,clusterSelection from ( select expand(classes) from metadata:schema ) where name="V1" +----+----+----------------+-------------------------+----------------+ |# |name|defaultClusterId|clusterIds |clusterSelection| +----+----+----------------+-------------------------+----------------+ |0 |V1 |54 |[54,55,56,57,58,59,60,61]|round-robin | +----+----+----------------+-------------------------+----------------+ orientdb {db=GratefulDeadConcerts}> alter class V1 CLUSTERSELECTION default Class updated successfully. orientdb {db=GratefulDeadConcerts}> info class V1 CLASS 'V1' Records..............: 0 Super classes........: [V] Default cluster......: v1 (id=54) Supported clusters...: v1(54), v1_1(55), v1_2(56), v1_3(57), v1_4(58), v1_5(59), v1_6(60), v1_7(61) Cluster selection....: default Oversize.............: 0.0 orientdb {db=GratefulDeadConcerts}> CREATE VERTEX V1 CLUSTER V1 set name="me" , type="artist" Created vertex 'V1#54:0{name:me,type:artist} v1' in 0.017000 sec(s). orientdb {db=GratefulDeadConcerts}> select * from V1 +----+-----+------+----+------+ |# |@RID |@CLASS|name|type | +----+-----+------+----+------+ |0 |#54:0|V1 |me |artist| +----+-----+------+----+------+
你好,你能发一些例子吗?tnxI有一个服务器端函数,可以保存到特定集群,如下所示:CreateVertexClass1ClusterUSA。。。我使用POST REST调用执行它:/database/functions/functions 1。。。有没有办法将呼叫发送给美国群集的所有者?谢谢您的回复。请澄清。假设我有两个节点,其中节点1的IP为1.1.1.1,节点2的IP为2.2.2.2。群集V1由节点1拥有。如果我像下面这样向节点2发送REST调用2.2.2.2/command/database/SQL/Create VERTEX V1 CLUSTER V1 set name='abc',它将保存到该集群,即使我没有发送给集群的所有者,如果我将集群选择更改为默认值? orientdb {db=GratefulDeadConcerts}> CREATE CLASS V1 EXTENDS V Class created successfully. Total classes in database now: 14. orientdb {db=GratefulDeadConcerts}> select name,defaultClusterId,clusterIds,clusterSelection from ( select expand(classes) from metadata:schema ) where name="V1" +----+----+----------------+-------------------------+----------------+ |# |name|defaultClusterId|clusterIds |clusterSelection| +----+----+----------------+-------------------------+----------------+ |0 |V1 |54 |[54,55,56,57,58,59,60,61]|round-robin | +----+----+----------------+-------------------------+----------------+ orientdb {db=GratefulDeadConcerts}> alter class V1 CLUSTERSELECTION default Class updated successfully. orientdb {db=GratefulDeadConcerts}> info class V1 CLASS 'V1' Records..............: 0 Super classes........: [V] Default cluster......: v1 (id=54) Supported clusters...: v1(54), v1_1(55), v1_2(56), v1_3(57), v1_4(58), v1_5(59), v1_6(60), v1_7(61) Cluster selection....: default Oversize.............: 0.0 orientdb {db=GratefulDeadConcerts}> CREATE VERTEX V1 CLUSTER V1 set name="me" , type="artist" Created vertex 'V1#54:0{name:me,type:artist} v1' in 0.017000 sec(s). orientdb {db=GratefulDeadConcerts}> select * from V1 +----+-----+------+----+------+ |# |@RID |@CLASS|name|type | +----+-----+------+----+------+ |0 |#54:0|V1 |me |artist| +----+-----+------+----+------+