gpt4 book ai didi

java - 典型的微服务架构中,如何链接微服务各自独立的RDBMS数据库中的相关数据?

转载 作者:太空宇宙 更新时间:2023-11-04 10:00:26 26 4
gpt4 key购买 nike

假设我正在设计一个电子学习门户,用户可以选择他想参加的类(class),然后在线付款,然后他/她就可以使用类(class)。所以我有这样的模块:1)类(class)2)付款3)用户管理。我选择设计 3 个独立的微服务,即 a) 类(class) b) 付款和 c) 基于域的用户管理。现在,如果这个系统是一个整体,那么我们可以使用外键,并链接用户、类(class)和付款表以关联数据。既然这三个是不同的微服务,并且有自己的数据库,那么数据如何链接在一起呢?即,如果我想关联特定用户“X”已注册“A”、“B”、“C”类(class)?

最佳答案

另一个微服务的微服务使用者可以存储特定外部资源的标识符,并将其逻辑与其数据库(RDBMS 或任何数据库类型)中自己的资源相关联。
这不是数据库约束关系,但如果这个约束是必须的,您当然可以添加一些关于它的存在和一致性的检查。

假设微服务之间的关系是:

User Management  ->  Courses
uses

用户管理可以存储与用户关联的类(class)资源的资源标识符。
这样您就可以以特定的方式连接两个域的数据。
如果需要其他依赖方式(类(class) -> 用户管理),则没有什么可以阻止您执行相同的逻辑。

不是你的问题,而是微服务之间数据关系的重要后果:必须处理外部资源的数据更新。拉、推?有或没有缓存?这本质上取决于您的用例。

关于java - 典型的微服务架构中,如何链接微服务各自独立的RDBMS数据库中的相关数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53578806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com