0

我有一个脚本,它使用 Neo4j 来跟踪用户对酒精类型的口味偏好。所以,基本上,当用户通过 API 端点设置他的偏好时,响应被缓冲到 Kafka,我从那里挑选它。尝试通过 neo4j python 驱动程序读取/写入 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(弹性容器服务)部署它,它运行在一个 EC2 实例上,它是 Amazon Linux AMI。如果您有任何建议可以解决它,我将非常感谢!

如果我也找到答案,我会保持更新。

4

1 回答 1

0

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

于 2019-01-31T22:54:50.247 回答