我是一个密码初学者。我试图谷歌我的问题,但找不到答案。
假设node-1
与svc-1
有关系,node-2
与svc-2
有关系,node-2
与node-1
有关系。
是否可以进行一个查询,查找node-1
和node-2
之间的路径,以创建svc-1
和svc-2
之间的关系?
例如,我们有以下数据
[
{
"spanId":"3",
"name": "checkOut",
"parentId": "2",
"service_name": "svc-2"
},
{
"spanId":"4",
"name": "payment",
"parentId": "3",
"service_name": "svc-2"
},
{
"spanId":"2",
"name": "addCart",
"parentId": "1",
"service_name": "svc-1"
},
{
"spanId":"1",
"name": "frontend",
"service_name": "svc-1"
}
]
我们有
frontend -> addCart
用于svc-1
checkOut -> payment
用于svc-2
addCart -> checkOut
。
从span视图中,我们有路径frontend -> addCart -> checkOut -> payment
,但是从service中,我希望有svc-1 -> svc-2
并且只显示它。有密码查询吗?
1条答案
按热度按时间yizd12fk1#
如果您实际上只想查看
svc-1
和svc-2
的名称,如果存在从node-1
到node-2
的PARENT_OF
路径:我将可变长度路径搜索限制为7的任意深度,以避免查询时间过长或耗尽内存(如果您有大量数据)。
我建议不要在
svc-1
和svc-2
之间实际创建新的关系,因为这将存储冗余信息,而且实际上可能会令人困惑(因为并非所有可能的PARENT_OF
路径都具有相同的服务节点对)。