不知道大家有没有遇到过一个系统十几个微服务,每个微服务的数据库都不同,但是都属于这个系统的一部分。
例如我现在公司的业务系统总共有十几个微服务,对应的也是十几个数据库。
我们有一个基础库,这个库里面存的数据是用户的基础信息,比如姓名、性别、学籍、等等
其它十几个库,每个库可能多多少少都有那么几张表会关联到这个基础库。
A 库 userInfo 表
B 库 b 表的 userInfo_id 关联的是 A 库的 userInfo 表 id C 库、D 库 等等 类似于下面这张图
当我们在做其它库的业务时,如果需要 A 库的基础数据,那么直接通过 B 库的关联字段去 A 库反向查询就可以了。
但是有个问题:当 A 库的这条数据被删除了,此时 B 库、C 库、D 库...等等关联 A 库的那条数据并没有被删除。
分库带来问题就是多个库之间的数据通过 ID 等某些字段相互关联,如果删除后,被关联的那些数据怎么办?总不可能每次通过业务去过滤吧...
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.