在 GCP 计算引擎中托管 Neo4j
Hosting Neo4j in GCP Compute engine
我想为维基百科的页面和类别图表托管 Neo4j Web 服务,并基本上通过密码查询获得一些建议。
我已经创建并填充了数据库。
如何“理想地”设置这样的服务?
我是否应该为 Neo4j 服务器保留 1 个专用实例并将其分开
运行ning Tomcat 或接收客户端的 Jetty 的实例
请求,然后将请求转发给 Neo4j 服务器实例
通过 REST API ?
或者直接从客户端发送请求(通过 REST 密码)到 1 个 neo4j 实例?
或者如果我的 Neo4j 我应该选择非托管扩展?
或者是否有任何其他方法来设置它并牢记缩放比例?
我确实计划在将来 运行 负载平衡和 HA 集群。
Web 服务将通过浏览器和移动应用程序访问。
我以前从未托管过这样的网络服务,所以如果有人能帮助我就太好了:)
我建议您创建一个位于您的客户端和 Neo4j 之间的 API 应用程序。您的客户端将向 API 服务器发出请求,然后服务器将向 Neo4j(可以是一个实例或一个 HA 集群)发出 Cypher 请求。
这样做的好处包括能够在 API 层实现缓存,在请求到达您的数据库服务器之前对其进行身份验证,能够通过部署到 API 服务器来即时更新 Cypher 查询(想象一下,如果 Cypher 逻辑存在于您的移动应用程序中——您将受到应用程序商店/用户升级的支配),并通过部署更多 API 服务器轻松扩展您的 API。
我跳过了这一层,只是使用非托管扩展来扩展 Neo4j REST API 并让客户直接访问 Neo4j,这对于快速实现原型来说工作正常,但是你失去了上面列出的许多好处还有一个缺点是您必须重新启动数据库才能部署新版本的非托管扩展。
我想为维基百科的页面和类别图表托管 Neo4j Web 服务,并基本上通过密码查询获得一些建议。 我已经创建并填充了数据库。
如何“理想地”设置这样的服务?
我是否应该为 Neo4j 服务器保留 1 个专用实例并将其分开 运行ning Tomcat 或接收客户端的 Jetty 的实例 请求,然后将请求转发给 Neo4j 服务器实例 通过 REST API ?
或者直接从客户端发送请求(通过 REST 密码)到 1 个 neo4j 实例?
或者如果我的 Neo4j 我应该选择非托管扩展?
或者是否有任何其他方法来设置它并牢记缩放比例?
我确实计划在将来 运行 负载平衡和 HA 集群。
Web 服务将通过浏览器和移动应用程序访问。
我以前从未托管过这样的网络服务,所以如果有人能帮助我就太好了:)
我建议您创建一个位于您的客户端和 Neo4j 之间的 API 应用程序。您的客户端将向 API 服务器发出请求,然后服务器将向 Neo4j(可以是一个实例或一个 HA 集群)发出 Cypher 请求。
这样做的好处包括能够在 API 层实现缓存,在请求到达您的数据库服务器之前对其进行身份验证,能够通过部署到 API 服务器来即时更新 Cypher 查询(想象一下,如果 Cypher 逻辑存在于您的移动应用程序中——您将受到应用程序商店/用户升级的支配),并通过部署更多 API 服务器轻松扩展您的 API。
我跳过了这一层,只是使用非托管扩展来扩展 Neo4j REST API 并让客户直接访问 Neo4j,这对于快速实现原型来说工作正常,但是你失去了上面列出的许多好处还有一个缺点是您必须重新启动数据库才能部署新版本的非托管扩展。