Google cloud platform Gremlin客户端通过基于URL的负载平衡器连接到Gremlin/JanusGraph服务器
由于安全策略,我有一个JanusGraph服务器集群(在内部Kubernetes网络中运行),外部Gremlin客户端可以通过以下网络路由访问该集群: 客户端-->全局负载平衡器()-->第三方防火墙-->内部负载平衡器-->图形服务器 全局负载平衡器公开的端点类似于 这种方法适用于基于HTTP的请求,因为当向上述全局负载平衡器端点触发Google cloud platform Gremlin客户端通过基于URL的负载平衡器连接到Gremlin/JanusGraph服务器,google-cloud-platform,gremlin,janusgraph,gremlinpython,google-cloud-http-load-balancer,Google Cloud Platform,Gremlin,Janusgraph,Gremlinpython,Google Cloud Http Load Balancer,由于安全策略,我有一个JanusGraph服务器集群(在内部Kubernetes网络中运行),外部Gremlin客户端可以通过以下网络路由访问该集群: 客户端-->全局负载平衡器()-->第三方防火墙-->内部负载平衡器-->图形服务器 全局负载平衡器公开的端点类似于 这种方法适用于基于HTTP的请求,因为当向上述全局负载平衡器端点触发curl命令时,我能够从gremlin服务器接收到响应 但是,我还有另外两种gremlin客户端使用模式: 使用gremlin.sh控制台 使用gremlinpy
curl
命令时,我能够从gremlin服务器接收到响应
但是,我还有另外两种gremlin客户端使用模式:
gremlin.sh
控制台gremlinpython
client(或者更一般地说,WebSocket客户端)gremlin.sh
客户端使用的remote.yaml
文件中,如何在hosts
和port
参数中指定全局负载平衡器端点
- 我尝试了几种组合(例如,
=['myhost.com']/['myhost.com/mypath1/mypath2'],主机
=8182/443),但它们都不起作用端口
gremlinpython
客户端中,我使用的是基于WebSocket的连接。如何使用上述端点指定websocket连接字符串
- 我尝试过各种连接字符串(例如,
),但它们也不起作用ws://myhost.com/mypath1/mypath2/gremlin
hosts
您应该只提供主机名(无路径),对于port,它应该是443,假设它是您在负载平衡器上公开的端口。当然,您还需要启用SSL—请注意打包的remote secure.yaml
文件中提供的设置,并参阅https://tinkerpop.apache.org/docs/current/reference/#_configuration
至于您的自定义路径mypath1/mypath2/gremlin
,目前无法配置。它希望路径是/gremlin
。我创造了一个回应
在gremlin python客户端中,我使用的是基于WebSocket的连接。如何使用上述端点指定websocket连接字符串
我希望这对Python有用:
wss://myhost.com:443/mypath1/mypath2/gremlin
谢谢!对于pythonwebsocket连接字符串,我面临的是HTTPError:http599:Timeout-during-request
error。但我需要在内部检查负载平衡器是否支持WebSocket连接。