Neo4j 驱动程序在执行查询时关闭连接

Neo4j driver closes connection when executing query

我有一个脚本使用 Neo4j 来跟踪用户对酒精类型的口味偏好。所以,基本上当用户通过 API 端点设置他的偏好时,响应被缓冲到 Kafka,我从那里选择它。尝试通过 neo4j python 驱动程序 read/write 到 Neo4j 时出现以下错误:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/ssl.py", line 787, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python2.7/ssl.py", line 657, in read
v = self.\_sslobj.read(len, buffer)
socket.error: \[Errno 104\] Connection reset by peer
Exception socket.error: error(104, 'Connection reset by peer') in 'neo4j.bolt.\_io.ChunkedInputBuffer.receive' ignored
INFO:UserSettingsProcessorProduction:2018-09-25 13:01:34 Type:<class 'neo4j.exceptions.ServiceUnavailable'> Filename:user_settings_processor.py Line:258 ERROR: Failed to write to closed connection Address(host='54.225.50.91', port=24786)

奇怪的是我无法在本地复制它,但我经常在 运行 一个 Docker 容器。我在某处读到它可能是 Docker 配置问题。如果容器是私有的,例如或类似的东西。我通过 AWS / ECS(弹性容器服务)部署了它,它 运行 在亚马逊 Linux AMI 的 EC2 实例上。如果您有任何建议可以解决它,我将非常感激!

如果我也找到答案,我会继续更新主题。

我们决定使用 GraphQL 与 Neo4j 进行通信,这似乎不再是问题。我找不到任何解决方案或线索为什么它实际上表现得像这样,同时在我的电脑上工作得很好。该服务使用 ECS 部署在 docker 容器上。