微服务拆分与多表关联查询

来源:3-12 创建项目-2

WittChen

2022-09-15

问题描述:

老师您好,我搜了下这方面问题,发现这门课程的学友也一样提出了很多这样的问题,老师进行了一一回答,在需求是硬性要求的情况下只能用技术硬抗


就比如慕课网来说,假如是,用户微服务,课程微服务,还有文章手记等等的微服务,这么一些,那么在一个列表分页查询的时候,我查询课程,查阅文章,查阅手记,我要在列表中知道每一门课程,文章,手记中显示出是哪位老师的,这就就包括了老师的头像,昵称了,这个需求合情合理,那么就不可避免的要进行关联查询了,现阶段老师的回答中只有一个回答可以解决这个问题,那就是把这些数据放到同个数据库中,然后再进行关联查询,老师在工作中也是这么做的吗
写回答

1回答

大目

2022-09-19

首先,对于强耦合的业务,不应该拆分,而应该放在一个服务中。

回到您的问题本身,两种做法:

  1. 冗余,将需要join的场景,冗余一下,不过这样带来更多问题,比如数据同步啊啥的。

  2. 如你所说,放到一个库里面。不过这是典型的微服务反模式,一般不建议使用的;目前业界比较常见的做法,是binlog监听,将所有微服务的的数据都推到同一个OLAP库中,然后统一数据分析,其实和你说的也有点类似,但是更复杂一些。好处是将分析查询,和业务分离了。

0
1
WittChen
非常感谢!
2022-09-19
共1条回复

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3083 学习 · 1324 问题

查看课程