database - 多个微服务和数据库关联

标签 database rest spring-boot microservices

我有一个关于微服务和数据库的问题。我正在开发一个应用程序:用户看到一个国家列表,可以点击它,这样他就可以看到那个国家的景点列表。我创建了一个国家服务、auth-service(包含 oAuth2 的用户)和一个 attraction-service。每个服务都有自己的数据库。我通过 iso 代码(例如:BE = belgium)映射了景点与其国家/地区之间的关联:/api/attraction/be

上面的方法似乎可行,但我对以下内容有点困惑:用户必须能够将景点添加到他/她的收藏夹列表中,但我不明白这怎么可能,因为我有这么多不同的数据库。

我是否创建收藏夹服务,我是否传递 ID(我认为我不应该这样做),我可以创建什么样的业务 key ,我如何以正确的方式关联数据......?

提前致谢!

最佳答案

根据您提供的信息,使用独立的喜爱服务听起来是正确的选择。

第二个更简单、更快捷的选择可能是也在您的用户服务上处理此问题,该服务负责管理您的用户数据的持久性,因为收藏夹是用户实体专有的。

至于 ID,我还没有看到很多关于为什么这可能是个坏主意的原因?您的个人服务将需要为相关数据存储一些识别值,我认为这里的主要问题只是让这个 ID 字段在您的不同服务中保持一致。您选择的内容只需要可靠且可预测,以便随着系统的发展让事情变得简单易行。

关于database - 多个微服务和数据库关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38168658/

相关文章:

java - 在 Spring Boot 中记录请求负载

mysql - 将 4 个表连接在一起

mysql - 通过查询获取组中每个组的总和

java - 使用geoserver的REST API上传SLD的图形

java - HttpUrlConnection : how to get the XML response into a String?

c# - 关于 NVP 与 SOAP 差异和术语的问题

java - 如何指定嵌套属性的默认值?

mysql - 什么时候将表从 MyISAM 更改为 InnoDb?

mysql - 如何在mysql中选择具有NULL值的列表 'IN'的所有行?

java - 如何在 Spring Boot 上使用简单的 JPA