关于微服务数据库分库后的连表问题

来源:2-3 章节思考题

神奇大樱桃

2022-02-24

老师你好,微服务的数据库分库后,如果A服务要展示的数据需要和B数据库的表关联,微服务划分后,数据库层面就没法做join操作,企业现在通用的方式是怎么处理的。我目前的解决方法是通过feign来调用其他服务获取数据,再插到A服务的对象中,如果遇到关联的表多,就需要feign调用多次,我不认为这是一个好的解决方法,这样的话代码量会堆积非常多,如果没有划分数据库的话,只要通过join就解决问题了。

所以概括就是,我需要关联到其他服务的数据库的表,没法join,我应该怎么做,谢谢老师。

写回答

1回答

张勤一

2022-02-25

同学你好:

    目前我知道的情况是,分库是不能够做 join 的;当然,即使是做了分表,做 join 也是非常麻烦的。所以,可以肯定的是,尽可能不要去做分库分表。

    你说的这种情况,目前的解决办法基本上就是你在做的;调用其他的服务,或者数据,在代码里面去做 join。如果没有涉及到特别大的并发,这种方法也就是业界的解决方案,没有不好的地方。

1
0

Spring Cloud / Alibaba 微服务架构实战

从架构设计到开发实践,手把手实现

1210 学习 · 674 问题

查看课程