在 GCP 计算引擎中托管 Neo4j

Hosting Neo4j in GCP Compute engine

我想为维基百科的页面和类别图表托管 Neo4j Web 服务,并基本上通过密码查询获得一些建议。 我已经创建并填充了数据库。

如何“理想地”设置这样的服务?

我确实计划在将来 运行 负载平衡和 HA 集群。

Web 服务将通过浏览器和移动应用程序访问。

我以前从未托管过这样的网络服务,所以如果有人能帮助我就太好了:)

我建议您创建一个位于您的客户端和 Neo4j 之间的 API 应用程序。您的客户端将向 API 服务器发出请求,然后服务器将向 Neo4j(可以是一个实例或一个 HA 集群)发出 Cypher 请求。

这样做的好处包括能够在 API 层实现缓存,在请求到达您的数据库服务器之前对其进行身份验证,能够通过部署到 API 服务器来即时更新 Cypher 查询(想象一下,如果 Cypher 逻辑存在于您的移动应用程序中——您将受到应用程序商店/用户升级的支配),并通过部署更多 API 服务器轻松扩展您的 API。

我跳过了这一层,只是使用非托管扩展来扩展 Neo4j REST API 并让客户直接访问 Neo4j,这对于快速实现原型来说工作正常,但是你失去了上面列出的许多好处还有一个缺点是您必须重新启动数据库才能部署新版本的非托管扩展。