请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

问题描述:

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


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

正在回答

1回答

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

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

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

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

0 回复 有任何疑惑可以回复我~
  • 提问者 WittChen #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2022-09-19 20:58:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信