欢迎来到Introzo百科
Introzo百科
当前位置:网站首页 > 技术 > 如何使用AuraDB构建Java微服务

如何使用AuraDB构建Java微服务

日期:2023-09-28 07:18

​译者 | 陈峻

审校 | 孙淑娟

在本文中,我将构建一个Java微服务,与Neo4j AuraDB的免费数据库中的图形数据进行连接和交互。这些数据是​​Goodreads数据集​​的精简版,其中包含了各种书籍、作者和评论等信息。虽然书籍和作者类别的数据适合于MongoDB等​​文档数据库​​,但是一旦我们将评论添加到该组合之中,则需要通过AuraDB来体现各个实体之间的关系,并最大限度地简化针对实体连接方式的查询。

预备知识

如果您对图形数据库不太熟悉的话,请通过如下资源自行恶补:

  • 博客文章:​​《图形数据库能够解决哪些问题?》​​​
  • Neo4j指南:​​《什么是图形数据库?》​​

总的说来,Neo4j提供了多种部署选项。我们既可以启动一个​​Docker容器​​(就像我们早期使用MongoDB项目那样)或利用带有免费层的数据库即服务(database-as-a-service),如:​​AuraDB​​。

在本例中,我们将先创建自己的Neo4j数据库,再加载数据,然后构建一个与数据库交互、且能够为客户端各自服务提供API的微服务。

AuraDB

通常,您需要花费几分钟的时间,才能完成Neo4j AuraDB免费实例的注册和创建,其中包括:验证您的电子邮件地址,以及等待实例的启动。您可以通过​​《Discover AuraDB Free》​​一文了解该过程的详细信息、以及屏幕截图。

图形数据加载

一旦实例开始运行,我们就可以加载数据了。您可以通过​​代码存储库​​,查看到包含了各种书籍的启动文件、文件夹自述文件、以及加载脚本中的说明。其中,自述文件中包含了各种查询,以方便我们去验证数据。

值得注意的是,虽然具有较大数据集的版本也适合AuraDB的免费层实例,但为了便于实现快速加载,我们暂时选择并保持较小的数据集。

应用服务

下面,我们需要通过构建应用,来提取评论数据。就微服务而言,我们将构建一个带有一组REST端点的Spring Boot应用程序,以访问连入Neo4j数据库中的数据。

在此,我们可以使用​​start.spring.i​​中的Spring Initializr来整理出项目的大纲。而在表单上,​​我们可以将Project、Language和Spring Boot字段保留为默认值。同时,在项目的Metadata部分下,我添加了该项目的组名。当然,您也可以保留默认值。虽然工件(artifact)名不太重要,但是我仍将其命名为neo4j-java-microservice,而所有其他字段则保持原样。

在Dependencies部分下,我们将需要Spring Reactive Web、Lombok和​​Spring Data Neo4j​​。其中,Spring Data Neo4j是用于连接各种数据存储的一个Spring Data项目。它可以帮助我们映射和访问加载到数据库中的数据。至此,该工程的模板已完成,我们可以点击底部的Generate按钮,来下载该工程(请参见下图)。

关灯